Linux 源码安装nginx 并配置PHP

1.下载源码

cd /usr/local/src/

前往nginx官网选择合适版本

wget http://nginx.org/download/

下载成功


2.安装

解压

tar -zxvf nginx-1.9.9.tar.gz

进入源码目录

cd nginx-1.9.9

配置

./configure  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module

编译

make && make install

3.使用

进入安装目录

cd /usr/local/nginx/sbin

启动nginx

./nginx

重启nginx

./nginx -s reload

关闭nginx

./nginx -s stop

4.设置开机启动

vi /lib/systemd/system/nginx.service

写入下面的数据

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

关闭nginx

/usr/local/nginx/sbin/nginx -s quit

使用以下命令开启

systemctl start nginx.service             

将服务加入开机自启

systemctl enable nginx.service

5.配置

cd /usr/local/nginx/conf 
vi nginx.conf

在文件末尾增加

include vhost/*.conf


创建vhost文件夹

mkdir vhost

创建一个测试配置文件

cd vhost
vi test81.conf

写入

server {
        listen       81;
        server_name  localhost;
        root   "/home/wwwroot/test81";
        location / {
            index  index.html index.htm index.php l.php;
           autoindex  off;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        } 
}

重启nginx

/usr/local/nginx/sbin/nginx -s reload

创建配置文件里的  root "/home/wwwroot/test81"; 目录

index.php写入


通过浏览器访问失败??



本机可以用curl 访问到,证明不是nginx 的问题


那么就可能是防火墙的问题了,如上图,找不到iptables

停止并屏蔽firewalld服务

systemctl stop firewalld
systemctl mask firewalld

安装iptables-services软件包

yum -y install iptables-services

开机自启动iptables服务

systemctl enable iptables

启动服务

systemctl start iptables

保存防火墙规则

service iptables save

测试一下停用防火墙看能访问不

systemctl stop iptables

访问成功了,但这并不是我们想要的(因为我们把防火墙关闭了)

开启防火墙

systemctl start iptables

配置开放端口

vi  /etc/sysconfig/iptables

加入 

-A INPUT -p tcp -m tcp --dport 80-81 -j ACCEPT
到文件内(80-81代表 80到81的端口,这里只包含了80和81)


重启

systemctl restart iptables

访问也成功了


猜你喜欢

转载自blog.csdn.net/qq_23033339/article/details/80869244