一、nginx和php常用命令
命令功能 | Nginx | php-fpm |
启动 | systemctl start nginx | systemctl start php-fpm |
停止 | systemctl stop nginx | systemctl stop php-fpm |
重启 | systemctl restart nginx | systemctl restart php-fpm |
查看启动状态 | systemctl status nginx | systemctl status php-fpm |
开机自启动 | systemctl enable nginx | systemctl enable php-fpm |
关闭开机自启动 | systemctl disable nginx | systemctl disable php-fpm |
二、nginx和PHP进程间通信配置
Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服务器.而UNIX Domain
Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决于你的PHP-FPM配置:
方式1:vim /etc/php-fpm.d/www.conf 和vim /etc/nginx/nginx.conf
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
其中php-fpm.sock是一个文件,由php-fpm生成,类型是srw-rw----.
2.1 修改nginx.conf文件
vim /etc/nginx/nginx.conf 修改server中的内容为:
server {
listen 80;
server_name www.xxx.com;
location / {
root /usr/local/Testphp/; #项目部署路径 ,改为自己的
index index.html index.htm index.php; }
location ~\.php$ {
root /usr/local/Testphp; #项目部署路径 ,改为自己的
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#项目部署路径 /usr/local/Testphp,改为自己的
fastcgi_param SCRIPT_FILENAME /usr/local/Testphp$fastcgi_script_name; include fastcgi_params; }
}
2.2 修改php-fpm的www.conf文件
vim /etc/php-fpm.d/www.conf,注释掉listen = /run/php-fpm/www.sock,添加listen = 127.0.0.1:9000 。
;listen = /run/php-fpm/www.sock
listen = 127.0.0.1:9000
2.3 修改PHP的php.ini文件
vim /etc/php.ini ,在最后一行,添加一下内容,然后重启php-fpm服务 systemctl restart php-fpm。
extension=mbstring.so
extension=php_gd2.dll
三、测试配置是否成功
创建index.php文件放入项目目录,php测试代码内容
<?php echo phpinfo(); ?>
浏览器访问,结果如下,则配置成功。