在Ubuntu系统下配置Nginx服务器的详细步骤如下:
# 更新软件包列表
sudo apt update
# 安装Nginx
sudo apt install nginx -y
# 验证安装(默认会自动启动)
systemctl status nginx
/etc/nginx/nginx.conf
/etc/nginx/sites-available/
(存放配置模板)/etc/nginx/sites-enabled/
(通过软链接激活)/var/www/html
/var/log/nginx/access.log
和 error.log
# 启动/停止/重启/重载
sudo systemctl start|stop|restart|reload nginx
# 设置开机自启
sudo systemctl enable nginx
创建网站目录:
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
创建测试页面:
echo "<h1>Welcome to Example.com</h1>" > /var/www/example.com/html/index.html
创建虚拟主机配置:
sudo nano /etc/nginx/sites-available/example.com
内容如下:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试并重载Nginx:
sudo nginx -t # 检查语法
sudo systemctl reload nginx
# 安装Certbot
sudo apt install certbot python3-certbot-nginx -y
# 获取证书(自动修改Nginx配置)
sudo certbot --nginx -d example.com -d www.example.com
# 设置自动续期
sudo certbot renew --dry-run
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://localhost:3000; # 转发到本地Node.js应用
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
upstream backend {
server 10.0.0.1:80 weight=3;
server 10.0.0.2:80;
}
server {
location / {
proxy_pass http://backend;
}
}
端口冲突:
sudo netstat -tulnp | grep :80 # 检查占用端口的进程
权限问题:
sudo chown -R www-data:www-data /var/www/ # Nginx默认用户为www-data
查看日志:
tail -f /var/log/nginx/error.log
# 允许HTTP/HTTPS
sudo ufw allow 'Nginx Full'
sudo ufw enable
通过以上步骤,您可以在Ubuntu上完成Nginx的基础到高级配置。根据实际需求调整参数即可。