liujia 发布的文章

当Linux里没netstat时,可以使用ss命令来查看当前的socket使用情况

在默认的Debian 9系统里,尝试输入 netstat -tunpl | grep :80 来查看是什么进程在使用80端口,但提示找不到这个命令。

ss-1.png

网上说netstat的软件包在一些新版本系统里已经弃用了,但可以使用 ss 命令来达到同样的目的,于是 man ss 后大概看了一下使用的方法和例子,在Shell里执行 ss -anp | grep :80 ,结果是差不多。

ss-2.png

参考:https://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html

在Debian 9系统里安装nginx + php7-fpm + MariaDB

环境:Debian 9.4,nginx 1.10.3,php7.0.27, MariaDB 10.1.26

过程:

  1. apt update # 更新软件源
  2. apt upgrade # 更新软件版本
  3. apt autoremove # 自动删除一些“遗留”的不必要软件
  4. apt install nginx # 安装 nginx
  5. apt install php-fpm php-gd php-mysql php-mbstring php-curl php-xml # 安装 php 及相关组件
  6. 编辑默认的nginx站点配置文件/etc/nginx/sites-enabled/default,添加 index.php 类型的默认首页文件,注释掉ipv6地址的监听及启用php

         # Add index.php to the list if you are using PHP
         index index.php index.html index.htm index.nginx-debian.html;
    
         server_name _;
    
         location / {
                 # First attempt to serve request as file, then
                 # as directory, then fall back to displaying a 404.
                 try_files $uri $uri/ =404;
         }
    
         # pass PHP scripts to FastCGI server
         #
         location ~ \.php$ {
                 include snippets/fastcgi-php.conf;
         #
         #       # With php-fpm (or other unix sockets):
                 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
         #       # With php-cgi (or other tcp sockets):
         #       fastcgi_pass 127.0.0.1:9000;
         }
  7. systemctl restart nginx # 重启 nginx 服务,以让更改生效
  8. apt install mariadb-server # 安装 MariaDB (mysql)数据库服务端
  9. 通过 mysql 命令行,创建一个新的mysql用户
    CREATE USER 'idbadm'@'localhost' IDENTIFIED BY 'meizi36829';
    GRANT ALL PRIVILEGES ON . TO 'idbadm'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  10. 上传或下载一个phpmyadmin,用新建的mysql用户名和密码登录,测试正常

在phpmyadmin用root用户登录 MariaDB 10.1.26 (mysql 5.7) 失败

环境:Debian 9.4, MariaDB 10.1.26 或 mysql 5.7, phpmyamdin 4.8

过程:

  1. 在Debian系统里安装好 nginx + php7.0 + MariaDB 的环境,放置一份 phpmyadmin 尝试登录
  2. 用 MariaDB 的root用户和密码登录,失败,提示:
    mysql-1.png

    mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'>mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
  3. 搜索得,如 mysql 5.7 版本后,默认不允许root用户从如phpmyadmin登录
  4. 可在服务器里通过mysql,创建一个有完全权限的新用户,如果是生产环境,建议仅授权指定数据库的权限:
    mysql-4.png
    CREATE USER 'idbadm'@'localhost' IDENTIFIED BY 'meizi36829';
    GRANT ALL PRIVILEGES ON *.* TO 'idbadm'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  5. 用新建用户的信息(登录名idbadm,密码meizi36829),再次登录phpmyadmin,成功
    mysql-5.png

参考:

使用openssl转换ssl证书文件 - 从pfx文件转换到pem单文件

一般,如阿里云的免费SSL证书,在下载页面会提供适合多种web使用的文件,如nginx, apache, IIS等。

遇到一例,仅存储了IIS上使用的pfx文件,现需要在nginx里使用,所以需要将pfx证书文件转换成适合nginx使用的。

环境:debian 9, nginx

过程:

  1. 将pfx文件上传到debian系统环境中
  2. debian系统中默认有openssl工具,可用openssl程序将pfx文件转换成单文件的,如:openssl pkcs12 -in swas.anqun.org.pfx -out swas.anqun.org.cer -nodes
    pfx-to-pem-1.png
  3. 查看导出的 swas.anqun.org.cer 文件,里边主要包含两部分内容,私匙和公匙
    pfx-to-pem-2.png
  4. 将私匙(PRIVATE KEY)部分内容复制到新文件swas.anqun.org.key中,将公匙(CERTIFICATE)部分内容(两个)复制到新文件swas.anqun.org.pem中
  5. 在nginx的站点文件中配置https访问,引用swas.anqun.org.pem和swas.anqun.org.key文件
    pfx-to-pem-4.png
  6. 保存配置文件修改后,重启nginx。在火狐浏览器里访问https测试,正常
    pfx-to-pem-3.png

参考:

淘宝C店收到差评

淘宝店(C店)开了十多年,有感情,上月底客户拍了一件XAMPP的在线服务,交易自动确认收货后,买家给了一个差评,说软件网上是可以免费下载的,以为是教程。

之后,通过旺旺,电话和手机短信与买家交流,恳请删除差评,删除差评后全额退款20元。可能“生效中”的评价不能删除,48小时后差评生效,再次用手机短信恳请买家能否删除差评。买家说好,上线后改了好评,之后我通过支付宝退20元给买家,感谢买家。

淘宝店多,淘宝现也限制没有商家认证的个人发布虚拟和软件服务。我个人的淘宝店,几年前基本也凭着爱好支撑了,个人的虚拟服务多数情况下不会得到认可,即使标价行业的底价,半数买家也会觉得贵。与卖家的在线服务时间对比,10元或20元的日收入,连我老妈都嫌少。

经过这件事,对于自己的淘宝店,感情依旧,但接新客户会谨慎得多。

tb3.jpg