下面是“Centos7安装PHP及Nginx的教程详解”的攻略。
准备工作
在开始安装前,需要确保系统已经安装了CentOS 7,并且具有管理员权限。另外,需要安装epel源、remi源和yum utils工具。可以使用以下命令来安装:
sudo yum install epel-release -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
安装Nginx
接下来,安装最新版的Nginx。可以使用以下命令来安装:
sudo yum install nginx -y
安装完成后,启动Nginx服务并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
此时,可以在浏览器中输入服务器的IP地址,如果能够看到”Welcome to Nginx!”的欢迎页面,说明Nginx已经正常安装并启动了。
安装PHP
在安装PHP之前,需要先安装PHP-FPM。PHP-FPM是一个PHP FastCGI管理器,用于处理PHP脚本。
可以使用以下命令来安装:
sudo yum install php-fpm -y
安装完成后,启动PHP-FPM并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
接下来,安装需要的PHP扩展模块。例如,如果需要安装PHP的MySQL扩展模块和gd扩展模块,可以使用以下命令:
sudo yum install php-mysql php-gd -y
配置Nginx
现在,需要进行一些Nginx的配置,以便正确处理PHP脚本。
首先,备份默认的Nginx配置文件:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
然后,创建一个新的Nginx配置文件并打开它:
sudo nano /etc/nginx/nginx.conf
将以下内容添加到配置文件中:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# PHP-FPM Configuration
upstream php {
server 127.0.0.1:9000;
}
# Nginx Proxy Configuration for PHP
server {
listen 80;
server_name localhost;
root /var/www/html;
# PHP Scripts
location ~ \.php$ {
proxy_pass http://php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
保存并关闭文件后,检查Nginx配置文件是否有误:
sudo nginx -t
如果没有错误提示,重新启动Nginx服务:
sudo systemctl restart nginx
测试PHP
现在,可以在/var/www/html目录下创建一个名为phpinfo.php的文件,文件中包含以下代码:
<?php
phpinfo();
?>
保存并关闭文件后,在浏览器中输入服务器的IP地址,加上phpinfo.php的文件名,如http://192.168.1.100/phpinfo.php,如果看到PHP的信息页,说明PHP已经可以正常工作了。
示例说明
- 示例一:安装PHP的zip扩展模块。
使用以下命令来安装:
sudo yum install php-zip -y
然后重启PHP-FPM服务:
sudo systemctl restart php-fpm
- 示例二:将Nginx的访问日志保存到自定义目录。
在Nginx的配置文件中,可以修改access_log的路径来指定日志文件的保存位置。例如,将日志保存到/var/log/nginx/custom.log文件中,可以这样修改Nginx配置文件:
access_log /var/log/nginx/custom.log main;
然后重启Nginx服务:
sudo systemctl restart nginx
这样Nginx的访问日志就会被保存到指定的custom.log文件中。