下面是 Nginx 安装与配置规则的完整攻略:
Nginx 安装与配置规则入门详解
一、介绍
Nginx 是一款开源的高性能 Web 服务器软件,它可以作为反向代理、负载均衡服务器和 HTTP 缓存服务器。本文将介绍如何在 Linux 系统上安装并配置 Nginx,并给出两个实际应用的示例。
二、安装 Nginx
2.1 在 Ubuntu 系统上安装 Nginx
在 Ubuntu 系统上,可以使用 apt-get 命令来安装 Nginx。具体方法如下:
sudo apt-get update
sudo apt-get install nginx
安装完成后,使用以下命令检查 Nginx 是否已经启动:
systemctl status nginx
若 Nginx 已经启动,会出现如下信息:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-01-07 14:11:54 CST; 1h 19min ago
2.2 在 CentOS 系统上安装 Nginx
在 CentOS 系统上,可以使用 yum 命令来安装 Nginx。具体方法如下:
yum install nginx
安装完成后,使用以下命令检查 Nginx 是否已经启动:
systemctl status nginx.service
若 Nginx 已经启动,会出现如下信息:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
└─php-fpm.conf
Active: active (running) since Thu 2022-01-06 23:29:38 CST; 11h ago
三、配置 Nginx
3.1 修改默认网站设置
Nginx 默认的网站设置在 /etc/nginx/sites-available/default
文件中。打开该文件,修改以下参数:
- 将默认监听端口改为
80
:
listen 80 default_server;
- 修改默认网站目录:
root /var/www/html;
- 将原始的欢迎页面注释掉:
#index index.html index.htm index.nginx-debian.html;
将注释去掉的原始的欢迎页面可以是自己的网站首页。
3.2 新建虚拟主机
为了支持多个网站,需要在 Nginx 中创建一个新的虚拟主机。可以按照以下步骤进行:
- 在
/etc/nginx/sites-available/
目录下新建一个.conf
文件,例如:
sudo vim /etc/nginx/sites-available/example.com.conf
- 编辑
.conf
文件,添加以下内容:
server {
listen 80;
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
location / {
root /var/www/example.com;
index index.html;
}
}
其中,example.com
为自己的域名或者 IP。
- 在
/etc/nginx/sites-enabled/
目录下创建一个软链接:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
- 重启 Nginx 服务使之生效:
sudo systemctl restart nginx
3.3 配置 HTTPS
要配置 HTTPS,需要先安装证书。可以使用 Let's Encrypt 免费证书,也可以使用其他第三方提供的证书。
下面以使用 Let's Encrypt 证书为例:
- 安装 Certbot:
sudo apt-get install certbot python-certbot-nginx
- 获取证书:
sudo certbot --nginx -d example.com -d www.example.com
其中,example.com
为自己的域名或者 IP。该命令会自动配置 HTTPS,并且会自动续期证书。
四、示例应用
4.1 反向代理
假设有两个服务,分别运行在 http://localhost:8080
和 http://localhost:8081
上。现在想要使用 Nginx 将这两个服务分别映射到 http://localhost/service1
和 http://localhost/service2
。
可以按照以下步骤进行:
- 修改 Nginx 配置文件:
sudo vim /etc/nginx/sites-available/example.com.conf
- 添加以下内容:
location /service1 {
proxy_pass http://localhost:8080;
}
location /service2 {
proxy_pass http://localhost:8081;
}
- 重启 Nginx 服务使之生效:
sudo systemctl restart nginx
现在就可以通过 http://localhost/service1
和 http://localhost/service2
访问这两个服务了。
4.2 负载均衡
假设有两台服务器,分别运行着 http://server1
和 http://server2
上。现在想要使用 Nginx 来实现负载均衡,将所有请求分发到这两台服务器上。
可以按照以下步骤进行:
- 修改 Nginx 配置文件:
sudo vim /etc/nginx/sites-available/example.com.conf
- 添加以下内容:
upstream backend {
server server1;
server server2;
}
server {
...
location /backend {
proxy_pass http://backend;
}
}
- 重启 Nginx 服务使之生效:
sudo systemctl restart nginx
现在就可以通过 http://example.com/backend
访问这两台服务器上运行的服务了。请求会被自动分配到这两台服务器上,实现负载均衡。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx 安装与配置规则入门详解 - Python技术站