Centos7通过yum安装和源码编译安装Nginx

1,445 阅读3分钟

Nginx简介

Nginx是什么?

Nginx是一款轻量级Web服务器,也是一款反向代理服务器
官网:nginx.org/
中文文档: www.nginx.cn/doc/

Nginx能干什么?

Nginx能干的事情很多,这里简要罗列一-些:

  1. 可直接支持Rails和PHP的程序
  2. 可作为HTTP反向代理服务器
  3. 作为负载均衡服务器
  4. 作为邮件代理服务器
  5. 帮助实现前端动静分离
Nginx特点

源码编译Nginx安装

Nginx下载

官网下载:nginx.org/en/download…
或者直接在linux执行命令:wget http://nginx.org/download/nginx-1.12.2.tar.gz
这里下载的版本是1.12.2

安装步骤
# 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
# 解压缩
tar -zxvf linux-nginx-1.12.2.tar.gz
cd nginx-1.12.2/
# 执行配置
./configure
# 编译安装(默认安装在/usr/local/nginx)
make
make install
防火墙配置

nginx默认监听80端口,如果未关闭防火墙需要配置iptables规则开放80端口(以centos6为例)。
编辑配置文件:vim /etc/sysconfig/iptables
在文件中间添加iptables规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙:service iptables restart
或者关闭iptables规则:iptables -F && iptables -t nat -F

Nginx验证

nginx主配置文件:/usr/local/nginx/conf/nginx.conf
nginx日志文件:/usr/local/nginx/logs/access.log
启动Nginx:/usr/local/nginx/sbin/nginx
然后直接访问ip地址,比如:http://192.168.0.110/,如果能看到如下Nginx主页说明安装ok。

Nginx常用命令

测试配置文件:${Nginx}/sbin/nginx -t
启动命令:${Nginx}/sbin/nginx
停止命令:${Nginx}/sbin/nginx -s stop/quit
重启命令:${Nginx}/sbin/nginx -s reload
查看进程命令:ps -ef | grep nginx
平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)]

你会发现这种安装方法非常的绿色,好像跟没安装一样,连服务都没有,那只能自己动手创建服务了

cd /etc/systemd/system
vi nginx.service

将以下内容复制到nginx.service里保存退出,以下内容,我是从官方yum安装后的service里面复制修改的

[UNIT] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target

然后将nginx设置为开机启动

systemctl enable nginx

你会发现现在无法启动nginx,我也搞不懂为什么,不过我重启后就正常了。


通过yum安装Nginx

这种方式是非常简单方便,nginx官网上也有介绍

nginx.org/en/linux_pa…

官方说明就是在/etc/yum.repo.d目录下面创建一个nginx的yum源,然后就可以直接用yum install nginx安装了,超级简单,这种方式就直接帮你把服务、都安装好了

cd /etc/yum.repo.d    #切换到yum安装源文件目录
vi nginx.repo    #创建一个安装包源

把以下内容复制进去,保存退出

复制代码
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
复制代码

然后查看一下是否成功加载了这个安装源

yum repolist

现在就可以通过yum安装nginx了

yum install nginx

安装好后,直接用systemctl启动nginx服务

systemctl enable nginx  #设置nginx为开机启动
systemctl start nginx  #启动nginx服务

刚装好,发现启动失败了

不过我重启下服务器,发现又能正常启动了。。然后记得把防火墙关了 systemctl stop firewalld,输入服务器ip,发现ok了


参考www.jianshu.com/p/9f2c162ac…

www.cnblogs.com/caijt/archi…