首先安装Nginx
1、更新源和安装nginx
$ sudo apt-get update
$ sudo apt-get install nginx
2、安装Nginx完成后可查看版本号,输入
root@ubuntu:~# nginx -v
nginx version: nginx/1.12.1 (Ubuntu)
安装PHP5.6
1、添加PPA
$ sudo apt-get install python-software-properties software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
2、安装PHP5.6以及所需的一些扩展
$ sudo apt-get install php5.6-fpm php5.6-mysql php5.6-common php5.6-curl php5.6-cli php5.6-mcrypt php5.6-mbstring php5.6-dom
3、配置php5.6
vim /etc/php/5.6/fpm/pool.d/www.conf
#增加用户和用户组
user = www-data
group = www-data
#去掉前面的分号
security.limit_extensions = .php .php3 .php4 .php5
安装MySQL
$ sudo apt-get install mysql-server mysql-client
途中会提示设置MySQL的密码,安装好后:
$ mysql -uroot -p
然后输入刚刚设置的密码,能成功进入即成功安装。
配置Nginx 中的PHP
新建一个文件夹 /etc/nginx/vhost,同时建一个文件domain.conf
mkdir /etc/nginx/vhost && touch /etc/nginx/vhost/domain.conf
打开文件配置内容
vim domain.conf
server{
listen 80;
server_name www.beixuan.com;#根据自己的域名配置
root /var/www/html/jishuge;#根据自己的根目录配置
location / {
try_files $uri $uri/ /index.php?$query_string;
index index.html index.htm index.php l.php;
autoindex off;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
access_log /var/www/html/jishuge/log/access.log;#配置访问日志
error_log /var/www/html/jishuge/log/error.log;#配置错误日志
}
在nginx.conf文件中引入配置文件
include /etc/nginx/vhost/*.conf;
重启nginx 和php-fpm
问题处理:
502错误处理:在配置文件(www.conf)中找到listen这个选项,有可能是listen等于其他内容
#第一:
listen = /run/php/php5.6-fpm.sock
#修改成下面内容
listen =127.0.0.1:9000
#第二:
security.limit_extensions = .php .php3 .php4 .php5 #去掉前面的分号
Access denied.(访问被拒绝)
打开php.ini配置文件
#找到cgi.fix_pathinfo选项,去掉注释;,然后将值设置为1:
cgi.fix_pathinfo = 1;
总结:建议多在虚拟机上多练手。如果碰见Nginx配置php不成功的话,建议打开错误日志看看是什么内容,然后请教别人或者利用搜索引擎,别一碰见问题就找人。