用了7年的windows2003绝版服务器搬家了

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;
html能显示
php文件显示

结语

用了7年的机器,还有点不舍,早年的APP开发的后端PHP全是部署在此,而且在阿里云上windows2003的都买不到了,去年还有一位朋友高价求windows 2003服务器;还有几回,通过远程这台服务器操作财付通【吐槽下财付通与微信支付插件真难安装,无数次在本机装不了支付浏览器插件,无耐要去安装成功过的windows 2003服务器】。而时至今日,那个服务器上也一直在个摆设,上面的html站与php也能转移到现在的centos node.js服务器了,少一个服务器,少一点续费与维护成本。

你可能感兴趣的:(用了7年的windows2003绝版服务器搬家了)