在CentOS上部署Nginx与PHP-FPM的最佳实践包括以下步骤:
-
安装必要的依赖包:
在安装Nginx之前,需要确保系统上已经安装了必要的依赖包。可以使用yum命令来安装这些依赖包:
sudo yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
这些依赖包包括GCC编译器、PCRE库、zlib库和OpenSSL库等,它们是Nginx编译和运行过程中所必需的。
-
添加Nginx官方仓库:
Nginx官方为CentOS系统提供了RPM包,可以通过添加Nginx官方仓库来方便地安装Nginx。首先,下载并导入Nginx的GPG签名密钥:
sudo rpm --import http://nginx.org/keys/nginx_signing.key
然后,使用yum命令添加Nginx官方仓库的RPM包:
sudo yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
-
安装Nginx:
添加完Nginx官方仓库后,就可以使用yum命令来安装Nginx了:
sudo yum install -y nginx
这条命令会自动下载并安装Nginx及其所有依赖项。
-
安装PHP-FPM:
使用yum命令安装PHP-FPM:
sudo yum install -y php-fpm
-
配置PHP-FPM:
编辑PHP-FPM的配置文件,通常位于
/etc/php-fpm.d/www.conf
或/etc/php/7.x/fpm/pool.d/www.conf
,根据具体的PHP版本进行调整。例如:listen = /run/php-fpm/php7.x-fpm.sock user = nginx group = nginx pm = dynamic pm.max_children = 5 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10
确保将
7.x
替换为实际的PHP版本号。 -
配置Nginx以支持PHP-FPM:
打开Nginx的配置文件,通常位于
/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
,在server
块中添加以下内容:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php-fpm/php7.x-fpm.sock; }
请确保将
7.x
替换为实际的PHP版本号。 -
重启服务:
完成配置后,重启PHP-FPM和Nginx服务以使更改生效:
sudo systemctl restart php-fpm sudo systemctl restart nginx
-
验证安装:
在浏览器中访问服务器的IP地址或域名,如果能够看到Nginx的默认欢迎页面,并且可以通过访问一个包含PHP代码的网页来验证PHP-FPM是否正常工作。
-
性能优化:
- 调整Nginx的
worker_processes
参数,通常设置为CPU核心数。 - 启用Gzip压缩以减少传输数据量。
- 根据需要调整PHP-FPM的进程数和线程数。
- 使用OPcache等Opcode缓存工具来加速PHP脚本的执行。
- 调整Nginx的
-
安全性和权限设置:
- 确保Nginx和PHP-FPM的运行用户和用户组设置正确,以限制对敏感文件和目录的访问。
- 定期更新Nginx和PHP-FPM到最新版本,以获取最新的安全补丁。
通过以上步骤,您可以在CentOS上成功安装并运行Nginx与PHP-FPM,并确保它们的配置能够满足您的应用需求。记得在生产环境中进行适当的调整和优化,以提高性能和安全性。