CentOS编译安装Nginx

易小灯塔
2018-04-19 / 0 评论 / 1,395 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2018年04月19日,已超过2412天没有更新,若内容或图片失效,请留言反馈。

 

1. 环境准备

# 更换YUM源,centos默认源是国外的网站,下载会比较慢
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
# 安装编译环境,如果安装过了,就不需要再安装了
yum -y install gcc* 

2. 安装pcre库,如果不安装pcre库,Nginx无法使用rewrite模块,在编译安装过程也会报错

# 查询pcre库是否安装
rpm -qa|grep pcre 
yum -y install pcre pcre-devel
# 安装完之后查询一下是否安装成功,如果能够看到pcre和pcre-devel包就可以了
rpm -qa|grep pcre 

3. 安装nginx

# 创建一个software/目录用来放软件包
mkdir -p /opt/software
# 创建安装目录
mkdir -p /application/nginx-1.14.0
# 下载nginx安装包
cd /opt/software
wget -q http://nginx.org/download/nginx-1.14.0.tar.gz
# 创建一个nginx用户
useradd nginx -s /sbin/nologin -M //创建一个nginx用户
# 解压
tar xvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
# 安装
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.14.0 --with-http_stub_status_module --with-http_ssl_module
# 如果安装报./configure: error: SSL modules require the OpenSSL library 需要安装openssl-devel,安装完之后再执行一下上一条命令
yum -y install openssl-devel
make && make install
# 创建软链接是为了以后如果要升级,应用程序中如果有引用Nginx路径,不需要做任何更改,访问的还是原来的路径/application/nginx
ln -s /application/nginx-1.14.0/ /application/nginx 
# 查看链接状态
ls -l /application/nginx 

注意:编译安装Nginx软件时,还可以使用./configure --help查看相关参数帮助

4. 检查安装结果

# 启动nginx服务
/application/nginx/sbin/nginx
netstat -lntup|grep 80 

5. 在浏览器里面输入nginx服务器IP地址

发现并没有成功,原因是被centos防火墙拦截了, 这个时候, 我们需要关闭防火墙

6. 关闭防火墙

CentOS7版本后防火墙默认使用firewalld,因此在CentOS7中关闭防火墙使用以下命令,

# 临时关闭
$ systemctl stop firewalld
# 禁止开机启动
$ systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.123456 

当然,如果安装了iptables-service,也可以使用下面的命令,

$ yum install -y iptables-services
# 关闭防火墙
$ service iptables stop
Redirecting to /bin/systemctl stop  iptables.service
# 检查防火墙状态
$ service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
   Active: inactive (dead) 

重新访问就能成功访问了

image-20201108170828455

0

评论 (0)

取消