在Ubuntu系统下搭建和配置Nginx服务的完整步骤如下:
# 更新软件包列表
sudo apt update
# 安装Nginx
sudo apt install nginx -y
# 验证安装(查看版本)
nginx -v
# 启动Nginx
sudo systemctl start nginx
# 开机自启
sudo systemctl enable nginx
# 检查状态
sudo systemctl status nginx
# 重启/重载配置(修改配置后使用)
sudo systemctl restart nginx # 完全重启
sudo systemctl reload nginx # 平滑重载
# 允许HTTP/HTTPS流量
sudo ufw allow 'Nginx Full' # 或单独允许80/443端口
# 验证防火墙规则
sudo ufw status
/etc/nginx/nginx.conf
/etc/nginx/conf.d/
/etc/nginx/sites-available/
(需软链接到sites-enabled/
)/var/www/html
创建网站目录:
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/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/
测试并重载:
sudo nginx -t # 测试配置语法
sudo systemctl reload nginx
安装Certbot:
sudo apt install certbot python3-certbot-nginx -y
获取证书:
sudo certbot --nginx -d example.com -d www.example.com
自动续期测试:
sudo certbot renew --dry-run
nginx.conf
的http
块中添加)# 性能优化
worker_processes auto; # 自动匹配CPU核心数
worker_connections 1024;
keepalive_timeout 65;
gzip on; # 启用压缩
# 静态文件缓存
location ~* \.(jpg|jpeg|png|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
/var/log/nginx/access.log
/var/log/nginx/error.log
/etc/logrotate.d/nginx
检查端口占用:
sudo ss -tulnp | grep nginx
详细错误日志:
sudo tail -f /var/log/nginx/error.log
测试特定配置:
sudo nginx -T # 查看完整加载的配置
完成以上步骤后,你的Nginx服务应该已正常运行。建议通过浏览器访问服务器IP或域名验证效果,或使用:
curl -I http://localhost
检查HTTP响应头。