Ubuntu安装nginx_php7以及配置index.php启动
前言
Github:https://github.com/HealerJean
上午接到一个活,要安装一个index.php,关于php,基本语法在大学的时候学习了2个礼拜。觉得php很简单的,当时本地环境用的额是apache,所以本来也想在公司的服务器上安装apache来配置启动,后来想想还是算了,已经有了nginx就用nginx吧。那么下面就是Ubuntu安装的过程了,很简答的哦
1、安装nginx
自己安装吧,不会的可以查找我之前的博客。
2、安装php
apt-get install php7.0 php7.0-fpm
3、nginx中配置php文件的目录
server {
listen 80;
server_name test.healerjean.cn;
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/dataoke$fastcgi_script_name;
include fastcgi_params;
}
location / {
root /usr/local/dataoke;
index index.php;
}
}
4、修改php默认监听
nginx将端口转发给php默认的9000端口。而通过apt-get安装的php默认使用本地sock文件通信,需要对php的配置进行修改。要修改的文件位于:/etc/php/7.0/fpm/pool.d/www.conf ,大概在36行。将
将 listen = /run/php/php7.0-fpm.sock
改成
listen = 127.0.0.1:9000
5、启动php
/etc/init.d/php7.0-fpm start
5.1、观察是否启动成功,发现没有内容,说明是没有启动,对不起,我也不知道为什么,请往后看
netstat -ntpl | grep 9000
5.2、php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:
master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
root@-node4:/etc/php/7.0/fpm# ps -ef | grep php-fpm
www-data 1667 22344 0 16:16 ? 00:00:00 php-fpm: pool www
www-data 1668 22344 0 16:16 ? 00:00:00 php-fpm: pool www
root 15521 1556 0 16:31 pts/0 00:00:00 grep --color=auto php-fpm
root 22344 1 0 16:03 ? 00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
重启
重启php-fpm:
kill -USR2 22344
再次观察,成功显示
netstat -ntpl | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1667/php-fpm: pool
6、浏览器中访问吧
关于出现下面问题的解决方法
cms 版本:11
php 版本:7.0.33-0ubuntu0.16.04.2
curl 未开启,请先开启curl扩展,否则无法运行,请联系您的空间或者服务器提供商
mbstring 未开启,请先开启mbstring扩展,否则无法运行
cache 无效,请先设置目录读写权限,请联系您的空间或者服务器提供商
apt-cache search curl,等具体看版本
apt-get install php7.0-curl apt-get install php7.0-mbstring apt-get install php7.0-cache