用到的Linux命令
- Ubuntu查看apt资源列表中php的版本:
apt-cache pkgnames | grep php
- 如何备份文件:
- .bak是备份文件, linux中的命令为: cp 原文件地址 新文件地址, 其中新文件地址直接写还未创建的文件名
sudo nginx -t
//当每次修改完nginx 配置后, 也可使用此语句先查看配置是否正确- linux中全局搜索某个文件的所在位置: find -name 名字 或 whereis 名字
- Ubuntu清理回收站:
rm -rf ~/.local/share/Trash/*
systemctl start|stop|restart|enable service
//依次为启动、停止、重启、设置开机自启动某服务
nginx配置中的fastcgi_pass为什么有时候是unix:/var/run/php/php7.4-fpm.sock
, 有时候是127.0.0.1:9000
?
- nginx和php的通信模式不同, 前者是系统本身socket, 后者是tcp协议
- 如果是在同一台服务器上运行的nginx和php-fpm,并发量不超过1000,选择unix socket,因为是本地,可以避免一些检查操作(路由等),因此更快,更轻。
- 如果面临高并发业务,我会选择使用更可靠的tcp socket,以负载均衡、内核优化等运维手段维持效率。
关于php-fpm, 以及与nginx配置间的互通
- php-fpm全名是PHP-FastCGI进程管理器
- php-fpm的配置文件/etc/php/7.4/fpm/php-fpm.conf里的[www] listen=xxx, 这里的xxx需要与nginx的默认配置文件/etc/nginx/sites-available/default里的location ~ .php$里的fastcgi_pass的地址相同
- 以上这些地址均是由apt自动安装确定的
- 改完后需要重启nginx:
systemctl restart nginx
- 然后重启php-fpm:
systemctl restart php7.4-fpm
- 如果nginx和php-fpm没有互通, 可以考虑是不是文件夹权限问题, php-fpm在访问web目录下的文件时被selinux拦截, 此时更改文件夹权限即可: 访问被阻止通过xftp把root文件夹右键设置更改权限惠及子目录
安装phpMyAdmin时遇到的问题
- 服务器安装phpMyAdmin后, 想要访问PHPadmin的管理界面, 需要把它的原装访问地址软链接到nginx配置下的网站根目录里:
ln -s /usr/share/phpmyadmin ${网站根目录}/phpmyadmin
(会新创建一个phpmyadmin的文件夹) - 如果选择管理界面的验证方式为cookie而非http的话, phpMyAdmin的['blowfish_secret']是一定要填的, 它是整个phpMyAdmin中的固定且唯一的验证校验密文, 不用记, 在phpmuadmin/config.sample.inc.php里修改
- 除了blowfish_secret之外, 还有['Servers'][$i]['host']需要修改, 原值为localhost时只能由localhost访问, 需改为ip地址
Nginx伪静态
- nginx伪静态: 伪静态是通过重写动态网页的URL来伪装动态网页的参数, 直观上看URL可以不再出现问号. 在nginx配置文件中添加:
server{
location / {
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
}
关于WordPress
- WordPress要求FTP登陆凭证的原因是目录权限的问题, 可以在根目录下wp-config.php里添加以下配置来更改WP:
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
- 然后还会报错没有权限无法创建目录, 所以还需要
chmod 777 -R wp-content/
来给这个文件夹授权可以创建目录
Comments | NOTHING