卸载安装的apache和php
yum remove httpd* php*
使用php -v看是否还能看到php的版本信息,如果能,说明没卸载干净,继续进行以下操作:
rpm -qa | grep php
根据列表卸载,注意卸载顺序,先卸载没有依赖的。
正确的卸载顺序为:
rpm -e php-mysql-5.1.6-27.el5_5.3
rpm -e php-pdo-5.1.6-27.el5_5.3
rpm -e php-xml-5.1.6-27.el5_5.3
rpm -e php-cli-5.1.6-27.el5_5.3
rpm -e php-gd-5.1.6-27.el5_5.3
rpm -e php-common-5.1.6-27.el5_5.3
最后,再用php -v,看看是否卸载干净。
安装PHP和PHP-FPM
- nginx本身是个web服务器,需要安装php-fpm处理php文件,php-fpm把处理结果返回给nginx。
- php-fpm是一个管理fastcgi的工具,以前是第三方的包,现在php7.0版本已经集成了这个东西。
yum默认安装的是老版本PHP,需要增加额外资源库,才能安装新版php7.0:
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpmmirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,使用以下命令:
- rpm -qa | grep webtatic
- rpm -e 上面搜索到的包即可
yum list php* //显示可用的php安装包
安装php7.0
yum -y install php70w.x86_64
php -v //查看安装的php版本
php -m //查看安装的php模块
查找php:
which php 或 whereis php
安装php-fpm
yum -y install php70w-fpm.x86_64
根据需要,安装其他模块,命令为:php -y install XXXXX
统一nginx与php-fpm的运行用户
- 对于静态文件,nginx运行用户要有对文件的读/读写权限。
- 对于php文件,nginx运行用户霜有对文件的读权限,发现是php文件后,转发给php-fpm。php-fpm运行用户要有对这些文件的读/读写权限。
查看nginx运行在哪个用户下
ps -ef | grep nginx
查看php-fpm运行在哪个用户下
ps -ef | grep php-fpm
调整nginx的运行用户
nginx配置文件,第一行
user XXXX
调整php-fpm的运行用户
yum安装的php-fpm,配置文件所在路径:/etc/php-fpm.d/www.conf
user = www-data
group = www-data
重启php-fpm
/etc/init.d/php-fpm restart
netstat -tln | grep 9000 //查看9000端口使用情况
ps aux | grep php-fpm //查看是否运行在www-data用户
运行用户修改完毕,继续修改文件目录权限
chown www-data:www-data -R /网站目录XXX
开启自动启动php-fpm
添加可执行权限
chmod +x /etc/init.d/php-fpm
添加到开机自动启动
chkconfig --add php-fpm
chkconfig php-fpm on
这样后,php-fpm就会开机自动启动了,而且可以使用以下命令进行重启
service php-fpm start
service php-fpm stop
service php-fpm reload或restart
修改nginx配置文件把nginx与php-fpm关联起来
server {
#监听端口
listen 80;
#访问域名
server_name 域名;
index index.php index.html index.htm;
#编码格式,若网页格式与此不同,将被自动转码
charset utf-8;
#设定本虚拟主机的访问日志
#access_log /var/log/nginx/host.access.log main;
#注意一下,这里把root放到了location外面
root /data/wwwroot/XXXX;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
#使nginx能够解析php文件
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000; #这个是php-fpm监听的端口,默认为9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #这里的$document_root就是上面外层的root
include fastcgi_params;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# Whitelist
## Let October handle if static file not exists
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
## Let nginx return 404 if static file not exists
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
}
重启nginx。
现在试试吧,是不是可以打开octobercms网站了。
附:linux用户管理
- groupadd www-data //添加用户组www-data
- useradd -g www-data www-data //添加用户www-data,并加到用户组www-data
- userdel www-data //删除用户www-data
- userdel -r www-data //删除用户www-data,同时删除他的工作目录
- groupdel www-data //删除用户组
- id www-data //查看用户www-data的信息
- groups //查看当前登录用户的组内成员
- groups www-data 查看用户www-data所在的组,以及组内成员
- whoami //查看当前登录用户名
- /etc/group //此文件包含所有用户组
- /etc/shadow和/etc/passwd //此文件包括所有用户名