在 Ubuntu 上安装 Nginx 是一个简单的过程。以下是详细的步骤:
1. 更新系统包
在开始安装之前,建议先更新系统的软件包列表以确保获取最新的版本。
sudo apt update
2. 安装 Nginx
使用 apt
包管理器安装 Nginx:
sudo apt install nginx
安装过程中,系统可能会提示你确认操作,输入 Y
并按回车继续。
3. 检查 Nginx 服务状态
安装完成后,Nginx 会自动启动。你可以通过以下命令检查其运行状态:
sudo systemctl status 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 ...
4. 防火墙配置(可选)
如果你启用了防火墙(如 ufw
),需要允许 HTTP 和 HTTPS 流量通过。
允许 HTTP 流量(端口 80):
sudo ufw allow 'Nginx HTTP'
允许 HTTPS 流量(端口 443):
sudo ufw allow 'Nginx HTTPS'
允许所有 Nginx 流量:
sudo ufw allow 'Nginx Full'
然后重新加载防火墙规则:
sudo ufw reload
5. 测试 Nginx 是否正常工作
打开浏览器并访问服务器的 IP 地址或域名。例如:
http://your_server_ip
如果 Nginx 正常运行,你会看到默认的欢迎页面:
Welcome to nginx!
6. 管理 Nginx 服务
以下是一些常用的 Nginx 服务管理命令:
启动 Nginx:
sudo systemctl start nginx
停止 Nginx:
sudo systemctl stop nginx
重启 Nginx:
sudo systemctl restart nginx
重新加载配置文件(不中断服务):
sudo systemctl reload nginx
设置开机自启:
sudo systemctl enable nginx
禁用开机自启:
sudo systemctl disable nginx
7. 配置文件位置
Nginx 的主要配置文件和目录如下:
主配置文件:
/etc/nginx/nginx.conf
站点配置文件(虚拟主机配置):
/etc/nginx/sites-available/
启用的站点符号链接:
/etc/nginx/sites-enabled/
默认网页根目录:
/var/www/html
8. 创建一个简单的虚拟主机(可选)
如果你想为你的网站创建一个虚拟主机,可以按照以下步骤操作:
创建一个新的配置文件:
在/etc/nginx/sites-available/
目录下创建一个新的配置文件,例如example.com
:sudo nano /etc/nginx/sites-available/example.com
添加基本配置:
示例配置内容:server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } }
创建网站根目录:
sudo mkdir -p /var/www/example.com
创建测试页面:
echo "Hello, Nginx!" | sudo tee /var/www/example.com/index.html
启用站点配置:
创建符号链接到sites-enabled
目录:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试配置文件语法:
sudo nginx -t
重新加载 Nginx:
sudo systemctl reload nginx
访问站点:
在浏览器中访问http://example.com
(确保 DNS 已正确解析到服务器 IP)。
9. 常见问题排查
无法访问 Nginx 页面:
- 检查防火墙是否允许 HTTP 流量。
- 确保 Nginx 服务已启动:
sudo systemctl status nginx
。 - 检查配置文件是否有语法错误:
sudo nginx -t
。
配置文件更改后未生效:
使用sudo systemctl reload nginx
或sudo systemctl restart nginx
重新加载配置。