整理备忘。
环境:debian + ngnix + php
首先,本地电脑安装putty软件,作为ssh客户端,并可以上传和下载文件,到官网下载最新版。
云服务器采用密钥登录。利用云服务器管理平台生成并下载的.pem密钥文件,用puttygen程序生成.ppk文件。在putty的auth中导入该文件。就可以登录服务器了。putty的connection选项中建议勾选keep alive并设置seconds between keepalives,否则putty闲置一段时间后就会退出登录。
上传和下载文件
用putty带的pscp.exe工具:
"pscp 本地目录或文件 root@服务器IP:路径"
可加入"-r"选项拷贝子目录。
可使用"*"代表所有源文件。
下载文件:把源和目的路径调换一下即可。
安装ngnix
apt update
apt install nginx
安装好nginx之后,配置ngnix.conf文件,以及配置多站点。(我是在本地电脑上修改然后再上传)
nginx缺省配置:/etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf; #读取虚拟站点的配置文件,实现多站点
server{
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
location ~ \.php$ { #php的配置,交给本机的fastcgi处理
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; #本机选这种方式比较快,php的版本号自己修改
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
然后为每个站点都制作一个.conf文件,比如siteA.conf,上传到/etc/nginx/conf.d/
server {
listen 80;
server_name www.siteA.com siteA.com;
root /usr/share/nginx/DIR_A;
index index.htm index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
配置改变后,重启nginx:
nginx -s reload (热重启,尝试启动新进程后再切换)
service nginx restart (停掉进程后启动新的进程)
ngnix测试:
/usr/sbin/nginx -t
查看进程:
ps -ef | grep php-fpm
查看监听端口:
netstat -lntp
设置系统启动时自动启动nginx:
systemctl enable nginx
为了支持https,需要申请证书,免费的可以用Let's Encrypt,用邮箱即可申请证书。利用cerbort来实现。
debian 安装cerbot
sudo apt update && sudo apt -y install certbot python3-certbot-nginx
申请证书:
certbot --nginx -d 域名 -d www.域名
执行之后自动修改conf文件,实现443端口的访问,80端口自动跳转到443。
如果不想让certbot修改conf文件:
certbot certonly --webroot -w /usr/share/nginx/xxx(网站文件目录) -d 域名 -d www.域名 -m 申请所用邮箱 --agree-tos
然后网站的conf文件中增加
server{
listen 443 ssl;
server_name 域名1 域名2;
root /usr/share/nginx/DIR_A;
index index.htm index.php;
ssl_certificate "/etc/letsencrypt/live/域名/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/域名/privkey.pem";
#php的设置同80端口
}
上传到conf.d目录中。重启nginx。
免费证书需要三个月重新申请。自动更新的办法待补充。
nginx.conf配置文件中:
关闭error log:
error_log /dev/null crit;
关闭访问日志:
access_log off;
可以在单独站点配置文件中设置日志。
php安装
debian下安装:
apt install php版本号-fpm (版本号可以不写,系统会指定一个版本)
安装扩展:apt install php版本号-extension_name
查看安装目录:whereis php
附:
rar文件解压缩:
安装rar
centos: yum install rar
debian: apt-get install rar
如果安装不上参考:
https://blog.csdn.net/YEYUANGEN/article/details/111823712
压缩:rar a xxx.rar 文件或目录
解压缩:unrar x xxx.rar
其他:
拷贝目录 cp -r 源目录 目标父目录
强制删除目录:rm -rf