Windows CentOS兵合一处,省心省力
现在主力机型是CentOS的,用的nginx是与node.js搭配的,nginx原来就装了,php也自带了。现在就是将两者整合在一起。
将原来的服务器上的几个古董级的php项目搬过来
2013年买的阿里云,刚好7周年了,7年之痒,抛弃它了
安装php-fpm连接php与nginx
fpm全称FastCGI Process Mananger
介绍可以参见https://www.php.net/manual/zh/install.fpm.php,还有https://zhuanlan.zhihu.com/p/96911584
运行命令
yum install php-fpm
安装完成后配置文件在/etc/php-fpm.conf,配置引用了/etc/php-fpm.d/*.conf,默认有一个www.conf,修改www.conf,找到用户、用户组设置:
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
;user = apache
; RPM: Keep a group allowed to write in log dir.
;group = apache
user = www
group = www
注释掉apache用户,使用自己的用户和组比如www,nginx等等(前提你得有指定的用户)。
启动php-fpm服务,systemctl start php-fpm.service (.service可以省略)
如果要设置开机自启动 systemctl enable php-fpm.service 就可以了
[root@localhost ~]# ss -tln | grep 9000
LISTEN 0 128 127.0.0.1:9000 :
用ss命令查看9000端口已经启用,当然也可以用systemctl status php-fpm查看启动状态
————————————————
版权声明:本文为CSDN博主「kalulioo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kalulioo/java/article/details/81904136
修改完后运行启动命令失败
Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details.
查了一遍原因,没找发现问题所在。
于是将nginx改回apache,又能启动正常。那么问题就是我机器里没有指定的用户了
以下命令可以查看服务器的用户与群组
1、用户列表文件:/etc/passwd/
2、用户组列表文件:/etc/group
3、查看系统中有哪些用户:
cut -d : -f 1 /etc/passwd
于是我给服务器添加用户与群组
groupadd nginx
useradd -s /sbin/nologin -g nginx -M nginx
再去访问网站,html文件报403 fobidden,php文件报file not found
修改站点目录于nginx自身目录也就就/usr/local/nginx/html
的html子目录,html居然能显示了
目录的配置如下
server {
listen 80;
server_name php.it577.net;
root html;
location / {
index index.php index.html index.htm;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
加上两行,有效的是前一行,不加的话,html能打开,而.php文件还是不能打开
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_param PATH_INFO $fastcgi_script_name;
结语
用了7年的机器,还有点不舍,早年的APP开发的后端PHP全是部署在此,而且在阿里云上windows2003的都买不到了,去年还有一位朋友高价求windows 2003服务器;还有几回,通过远程这台服务器操作财付通【吐槽下财付通与微信支付插件真难安装,无数次在本机装不了支付浏览器插件,无耐要去安装成功过的windows 2003服务器】。而时至今日,那个服务器上也一直在个摆设,上面的html站与php也能转移到现在的centos node.js服务器了,少一个服务器,少一点续费与维护成本。