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
访问也成功了