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的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7.9使用Nginx的stream模块实现内网端口转发