Nginx 安装详细教程
简介
Nginx 是一款高性能的 Web 服务器,可以作为反向代理、负载均衡等用途。在本篇文章中,我们将讲解如何在 Linux 系统下进行 Nginx 的安装。
安装 Nginx
步骤一:更新系统软件包
在安装 Nginx 前,首先要确保系统中的软件包已经更新到最新版本。可以使用如下命令来更新系统软件包:
sudo apt update
sudo apt upgrade
步骤二:安装 Nginx
- 使用以下命令安装 Nginx:
sudo apt install nginx
- 安装完成后,启动 Nginx 服务:
sudo systemctl start nginx
- 检查 Nginx 的状态:
sudo 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 Tue 2021-05-18 09:48:15 UTC; 4min 23s ago
步骤三:设置防火墙规则(可选)
如果系统中有防火墙软件,需要设置开放相关端口,允许 Nginx 的请求通过。
以 ufw
防火墙为例,使用以下命令开放 HTTP 和 HTTPS 端口:
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
示例说明一:配置静态服务器
在默认情况下, Nginx 配置文件位于 /etc/nginx/nginx.conf
, 网站文件位于 /var/www/html
。我们可以通过配置 Nginx,将这个目录作为一个静态资源文件目录。
- 备份默认配置文件:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
- 创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/nginx.conf
复制以下内容并保存:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
}
}
- 重新启动 Nginx:
sudo systemctl restart nginx
- 创建测试文件:
sudo nano /var/www/html/index.html
在文件中输入 "Hello, Nginx!",保存并退出。
- 浏览器中输入服务器的 IP 地址或域名,如: http://example.com,如果成功返回“Hello, Nginx!”,则表明 Nginx 已配置成功。
示例说明二:反向代理服务器
Nginx 也可以被用作反向代理服务器。在这个例子中,我们将使用 Nginx 来代理请求到一个本地的 Node.js 服务。
- 安装 Node.js
在反向代理时需要使用到 Node.js,如之前可能需要先更新系统并安装 Node.js:
sudo apt update
sudo apt install nodejs
- 启动 Node.js 服务
创建一个 server.js
文件,并输入以下内容:
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, Node.js!');
});
server.listen(3000, () => {
console.log(`Node.js server running at http://localhost:3000/`);
});
使用以下命令启动该服务:
node server.js
- 配置 Nginx
备份默认配置文件:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/nginx.conf
复制以下内容并保存:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
upstream nodejs {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://nodejs;
}
}
}
4.重新启动 Nginx:
sudo systemctl restart nginx
5.测试代理:
在浏览器中输入服务器的 IP 地址或域名,如: http://example.com,如果成功返回“Hello, Node.js!”,则表明反向代理已经成功配置。
结论
以上就是在 Linux 系统下安装、配置 Nginx 的完整攻略,包括两个常见的示例。希望能够帮助大家成功安装、使用 Nginx。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx 安装详细教程 - Python技术站