CentOS7.2安装Nginx1.10.3遇到的问题

1.安装nginx之前首先要安装所需要的依赖

nginx安装依赖一键安装命令 :

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 

当然也可以分步安装:

1)gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
需要执行的命令:yum install gcc-c++ 
2)PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
需要执行的命令:yum install -y pcre pcre-devel
3)zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
需要运行的命令:yum install -y zlib zlib-devel
4)openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的**和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

需要运行的命令:yum install -y openssl openssl-devel

注意:如果分步安装依赖时候报错CentOS7.2安装Nginx1.10.3遇到的问题

给执行的命令 行后面加上--setopt=protected_multilib=false,重新执行即可!

举个栗子:

安装zlib依赖时使用命令yum install -y zlib zlib-devel出现如上错误,则重新使用

yum install -y zlib zlib-devel --setopt=protected_multilib=false执行即可。

2.安装nginx包

下载nginx地址:http://nginx.org/en/download.html

本文采用的是nginx-1.10.3

CentOS7.2安装Nginx1.10.3遇到的问题

下载nginx的安装包:wget +链接

3.解压,进入nginx-1.10.3,执行命令./configure --prefix=/usr/local/nginx  

4.编译安装

make && make install  

安装完毕后,将在/usr/local/下看到nginx文件夹,nginx文件夹中有四个文件夹:

conf 存放配置文件
html 存放静态页面
logs 存放日志文件
sbin 执行文件

CentOS7.2安装Nginx1.10.3遇到的问题
5.启动 nginx
/usr/local/nginx/sbin/nginx //启动  
/usr/local/nginx/sbin/nginx -s stop //关闭  
/usr/local/nginx/sbin/nginx -s reload //重启  
查看启动状态  
   ps -ef | grep nginx  

CentOS7.2安装Nginx1.10.3遇到的问题

centOS7访问nginx失败解决-.0:80 failed (98: Address already in use)解决

1.先安装好iptables服务

yum -y install iptables-services

systemctl mask firewalld.service

systemctl enable iptables.service

systemctl enable ip6tables.service

 编辑 vim /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

重新启动iptables,配置生效

systemctl restart iptables.service

开启防火墙,如果失败,systemctl unmask firewalld.service 即可

systemctl start firewalld

开启http访问

firewall-cmd --permanent --add-service=http
加入80端口
firewall-cmd --permanent --zone=trusted --add-port=80/tcp

启动nginx:

CentOS7.2安装Nginx1.10.3遇到的问题

说明端口被占用,杀掉进程

killall -9 nginx

重新启动

./nginx

查看启动状态

ps aux|grep nginx

输入ip或域名,浏览器成功访问:

CentOS7.2安装Nginx1.10.3遇到的问题


如果不能访问nginx首页,可能是80端口没开放:

firewall-cmd --permanent --zone=public --add-port=80/tcp  
firewall-cmd --permanent --zone=public --add-port=80/udp  
firewall-cmd --reload