linux下安装nginx端口占用以及php-fpm

Nginx的配置文件为nginx.conf安装目录在哪配置文件就在安装文件夹下的conf文件夹中,例:安装目录为/usr/local/nginx 则安装完配置文件nginx.conf就在/usr/local/nginx/conf文件夹中。

安装完成使用客户端去访问服务端的nginx时会出现网站访问失败的错误,如何成功访问,操作如下:

以防万一,先安装好iptables服务(不管你装没装,先执行,免得后面添乱)

[root@localhost ~]# yum install iptables-services

[root@localhost ~]# systemctl mask firewalld.service

[root@localhost ~]# systemctl enable iptables.service

[root@localhost ~]# systemctl enable ip6tables.service

进入iptables配置80端口,因为nginx默认是由80端口访问

[root@localhost ~]# vim /etc/sysconfig/iptables

这是配置信息:

# Generated by iptables-save v1.4.21 on Fri May 12 21:28:29 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:696]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT(我给vsftpd配置的端口)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT(给nginx配置的端口,原样输入就行了
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri May 12 21:28:29 2017

然后:wq,保存退出就行了

重启iptables,配置才生效

[root@localhost ~]# systemctl restart iptables.service

开启防火墙,不管你开没有,再开一遍:

[root@localhost ~]# systemctl start firewalld

开启http访问

[root@localhost ~]# firewall-cmd --permanent --add-service=http

加入80端口

[root@localhost ~]# firewall-cmd --permanent --zone=trusted --add-port=80/tcp

启动nginx!!!!(重点来了!!!)

centOS7nginx启动与其他的有区别!!!注意:我是装的nginx1.80,在centOS6.X系列中,是通过

cd /usr/local/nginx/sbin/

./nginx 

这两条命令启动的。

Ubuntu中是通过/etc/nginx.....,你会发现你的centOS7里面,etc下面根本就没有nginx这个folder

centOS7中你会发现这行不通,我们应该这么启动:

[root@localhost ~]# /usr/local/nginx/sbin/nginx

如果发现:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

说明80端口被占用,杀掉这个进程:

[root@localhost ~]# killall -9 nginx
//如果没有killall命令,使用 ps aux|grep nginx 查看nginx进程然后去kill调 kill -9 端口号

再次启动nginx

[root@localhost ~]# /usr/local/nginx/sbin/nginx

查看是否启动:

[root@localhost ~]# ps aux|grep nginx

输出:

root       7110  0.0  0.0  24348   752 ?        Ss   22:32   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody     7111  0.0  0.0  26860  1508 ?        S    22:32   0:00 nginx: worker process
root       7114  0.0  0.0 112664   968 pts/0    S+   22:33   0:00 grep --color=auto nginx

启动成功!

在安装完成后配置nginx.conf:

location / {

            root   html;

            index  index.html index.htm index.php;//添加index.php

        }

和:

location ~ \.php$ {

            root           html /usr/local/nginx/html;//把html改为你的目录文件夹

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /script $document_root//把script改为$document_root  $fastcgi_script_name;

            include        fastcgi_params;

        }

这样修改就可以让你的php挂载到nginx中,然后在html目录下添加index.php写一个phpinfo就可以测试你的php是否成功挂载在nginx中

猜你喜欢

转载自blog.csdn.net/a315821168/article/details/80331836