nginx使用教程
nginx 的使用教程
Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。以下是一个基本的 Nginx 使用教程,涵盖了安装、基本配置和常见的使用场景。
安装 Nginx
在 Ubuntu 上安装 Nginx
1 | sudo apt update |
在 CentOS 上安装 Nginx
1 | sudo yum install epel-release |
启动和停止 Nginx
1 | # 启动 Nginx |
Windows操作系统上打开并运行Nginx
- 进入Nginx目录:
打开命令提示符(Win + R,输入cmd,回车)。
使用cd命令进入Nginx目录,例如:
1 | cd C:\nginx |
- 编辑配置文件(可选):
Nginx的配置文件位于conf目录下,文件名为nginx.conf。
使用文本编辑器(如Notepad)打开nginx.conf,根据需要进行修改。
- 启动Nginx:
1
start nginx
- 验证Nginx是否启动:
打开浏览器,访问http://localhost。
如果看到“Nginx欢迎页面”,则说明Nginx已经成功启动。
Nginx 配置文件
Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。在这个文件中,你可以配置全局设置、HTTP 设置、以及虚拟主机设置。
停止Nginx:
1 | nginx -s stop |
重启Nginx:
如果需要重启Nginx,可以先停止然后再启动,或者直接使用reload命令
1 | nginx -s reload |
基本配置示例
以下是一个基本的 Nginx 配置示例:
1 | user www-data; |
配置虚拟主机
在Nginx中可以通过配置虚拟主机来管理多个网站。虚拟主机配置文件通常位于 /etc/nginx/sites-available/ 目录下,并通过符号链接到 /etc/nginx/sites-enabled/ 目录。
创建一个新的虚拟主机配置
1.创建配置文件:在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,例如 example.com。
1 | server { |
虚拟主机
1 | server { |
2.启用配置:通过创建符号链接将配置文件链接到 sites-enabled 目录。
1 | sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ |
3.测试配置:在重新加载 Nginx 之前,测试配置文件是否有语法错误。
1 | sudo nginx -t |
4.重新加载 Nginx:
1 | sudo systemctl reload nginx |
配置重定向
如果你希望将某个 URL 重定向到主页,可以在虚拟主机配置中添加重定向规则。例如,将 http://example.com/old-page 重定向到主页 http://example.com:
1 | server { |
配置反向代理
Nginx 也可以用作反向代理,将请求转发到后端服务器。例如,将所有请求转发到运行在 localhost:3000 的应用程序:
1 | server { |
负载均衡配置教程
- 基本负载均衡配置
在Nginx的配置文件中,通过定义upstream块来设置负载均衡服务器组。假设我们有三个后端服务器:
编辑Nginx配置文件(例如/etc/nginx/nginx.conf或/etc/nginx/conf.d/load_balancer.conf)
1 | http { |
在上面的配置中,upstream块定义了一个名为backend的服务器组,包含三个后端服务器。proxy_pass指令将请求转发到该服务器组。
- 负载均衡算法
Nginx支持多种负载均衡算法,可以在upstream块中指定:
- 轮询(默认):
1
2
3
4
5
6upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
} - 权重轮询:
1
2
3
4
5
6upstream backend {
server backend1.example.com weight=3;
server backend2.example.com weight=2;
server backend3.example.com weight=1;
} - IP哈希:
1
2
3
4
5
6
7upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
} - 最少连接:
1
2
3
4
5
6
7upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
配置 HTTPS
要配置 HTTPS,你需要一个 SSL 证书。你可以使用 Let’s Encrypt 免费获取一个 SSL 证书。
安装 Certbot
1 | sudo apt install certbot python3-certbot-nginx |
获取 SSL 证书
1 | sudo certbot --nginx -d example.com -d www.example.com |
Certbot 会自动修改你的 Nginx 配置文件以使用 SSL 证书。

