您的位置:首页 > 运维架构 > Nginx

centos安装nginx

2016-06-21 22:28 501 查看
在我刚安装好的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阶段会报错,发现缺少下面模板:gccPCREzlibopenssl安装相应的开发版,安装前先更新一下本地库。yum update # 更新本地库yum install gccyum install pcre-develyum install zlib-develyum 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,也还缺少常用的模块,不过至少能正常运行,以后需要的模块以后再加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  安装 centos nginx