nginx安装教程

1. 介绍

1.1. 什么是nginx

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,

并且cpu、内存等资源消耗却非常低,运行非常稳定。

1.2. 应用场景

1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,

需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,

不会因为某台服务器负载高宕机而某台服务器闲置的情况.

2. 安装

2.1. 安装环境说明

OS: CentOS Linux release 7.7.1908

2.2. 建立nginx的yum仓库

1
2
3
4
5
# for Centos 7
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# for almalinux 8
# 手动添加yam源
# vi /etc/yum.repos.d/nginx.repo
# nginx-mainline 没有启用,如要启用将enabled设置为1

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/nginx_signing.key
module_hotfixes=true

1

2.3. 下载并安装nginx

1
yum install -y nginx

2.4. 启动nginx服务

1
systemctl start nginx

nginx默认监听在80端口, 可以使用浏览器访问http://your_server_id测试nginx是否启动成功.

3. 配置

默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf 等文件即可。

如果对安全性要求不高的话, 建议关闭selinux

1、临时关闭:输入命令setenforce 0,重启系统后还会开启。
2、永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出

4. 问题排查

nginx的日志位于 /var/log/nginx

如果出现以下错误, 请查看该文章

nginx bind() to 0.0.0.0:**** failed (13: Permission denied)

原因是seLinux限制了http的端口

5. 参考文档

CentOS 7 安装nginx

Nginx配置文件详解