版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wqc19920906/article/details/82425870
(都是在root权限下进行)参考自:https://www.cnblogs.com/DanBrown/p/8005184.html
1.安装必须环境
nginx的编译需要c++,同时prce(重定向支持)和openssl(https支持)也需要安装。
请顺序安装依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
yum -y install pcre*
2.,下载nginx-1.13.8.tar.gz,可放在 /usr/local/ 目录下
1 [root@admin ~]# cd /usr/local/
2 [root@admin local]# wget http://nginx.org/download/nginx-1.13.8.tar.gz
3.解压及编译
1 [root@admin local]# tar -zxvf nginx-1.13.8.tar.gz
4.进入nginx目录
1 [root@admin local]# cd nginx-1.13.8
5.设置安装目录为 /usr/local/nginx
1 [root@admin nginx-1.13.8]# ./configure --prefix=/usr/local/nginx
开始编译安装
1 [root@admin nginx-1.13.8]# make
2 [root@admin nginx-1.13.8]# make install
6.开放指定端口(需要root权限)
通常的解决办法有两个。一个是直接关闭防火墙(非常不推荐):
service iptables stop
但是这样相当于把系统完全暴露,会带来很大的安全隐患。所以,第二种方案就是修改防火墙策略,如下文介绍。
6.1. 查看防火墙当前设置
/etc/init.d/iptables status
查看已有的防火墙配置信息,需要开放的端口是否已经开放。
6.2.配置防火墙策略(root权限)
比如我要开放22/80/3306三个端口,可以在/etc/sysconfig/iptables文件中添加三行信息,如下:
vi /etc/sysconfig/iptables
内容修改成如下:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
保存,退出
6.3.重启防火墙
service iptables restart
完成。可以再执行步骤1查看开放端口配置结果。
6.4.开放一个范围的端口
比如开放3000到5000的端口。
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3000:5000 -j ACCEPT
6.5.重启或关闭防火墙两种方式
6.5.1 系统重启后生效。开机自启动,或者自动关闭。
开启: chkconfig iptables on
关闭: chkconfig iptables off
6.5.2 即时生效,系统重启后失效
开启: service iptables start
关闭: service iptables stop
7.启动nginx服务
进入安装目录 /usr/local/nginx
[root@admin ~]# cd /usr/local/nginx
[root@admin sbin]# ./nginx
查看进程,可以看到nginx的master和worker进程
[root@admin sbin]# ps -ef | grep nginx
root 32150 1 0 13:28 ? 00:00:00 nginx: master process ./nginx
nobody 32151 32150 0 13:28 ? 00:00:00 nginx: worker process
root 32154 28494 0 13:28 pts/1 00:00:00 grep nginx
可以通过访问ip:80测试,看到页面这样的提示就说明安装成功