centos安装nginx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos安装nginx相关的知识,希望对你有一定的参考价值。

在我刚安装好的centos上安装nginx。我采用下载nginx的源代码进行编码安装。


安装时会出错,主要是缺少一些库,或是虽然有些库已经安装,但不是开发版的缺少相应模块。


1、下载nginx,并解压,进入nginx目录后,运行

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

其中:

  --prefix=PATH            # 指定安装目标路径

--with-http_stub_status_module    # 开启http的状态监控


2. 在configure阶段会报错,发现缺少下面模板:

gcc

PCRE

zlib

openssl

安装相应的开发版,安装前先更新一下本地库。

yum update # 更新本地库

yum install gcc

yum install pcre-devel

yum install zlib-devel

yum install openssl-devel

安装后再进行configure,看是否成功


3. 在nginx目录下 make,没报错后 make install


4. 因为我对nginx配置还不是很熟悉,暂时不讲配置,以后了解后会补充。使用默认的配置文件,启动nginx。


/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


如果运行成功的话,用命令 netstat -antlp | grep nginx 可以看到 nginx侦听tcp 80端口。


tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1440/nginx


5. 在centos 终端里用运行 wget http://127.0.0.1/ , 看是否能获取到 index.html 页面。再在其他机器上通过命令行运行wget或浏览器输入 http://xxx.xxx.xxx.xxx/ 访问nginx,看是否成功,如不成功,可能是防火墙的原因。


因为centos下会有默认的防火墙策略来禁止外部机器访问,需要修改防火墙策略,修改配置文件 /etc/sysconfig/iptables,增加允许外部访问80端口的权限:

-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 80:进行tcp匹配,协议是tcp,目标端口号为 80 端口

-j: 匹配成功后,采用动作是允许数据包通过


我现在的防火墙配置文件如下:


: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 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


至此,我的nginx服务器已经正常运行了。虽然目前还没能运行php,也还缺少常用的模块,不过至少能正常运行,以后需要的模块以后再加。

本文出自 “chhquan” 博客,请务必保留此出处http://chhquan.blog.51cto.com/1346841/1791524

以上是关于centos安装nginx的主要内容,如果未能解决你的问题,请参考以下文章

Linux编译安装Nginx源码常见选项

CVE-2019-16097复现-harbor注册提权

配置nginx服务器 —— Nginx添加多个二级子域名

CentOS 7.9使用Nginx的stream模块实现内网端口转发

Centos7.6搭建nginx 1.16.1并使用upstream_check_module模块

centos7怎么安装 centos7安装步骤