在Nginx中配置域名(虚拟主机)是一个常见操作,以下是详细步骤和示例:
sudo apt install nginx
)example.com
)并已解析到服务器IP编辑Nginx配置文件(通常位于/etc/nginx/sites-available/
):
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 index.htm;
location / {
try_files $uri $uri/ =404;
}
# 可选:日志配置
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
sites-enabled
目录:
bash
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
bash
sudo nginx -t # 测试语法
sudo systemctl restart nginx
使用Let's Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot会自动修改Nginx配置并启用HTTPS。
server {
listen 80;
server_name api.example.com app.example.com;
root /var/www/subdomains/html;
index index.php;
}
location / {
proxy_pass http://localhost:3000; # 转发到本地Node.js应用
proxy_set_header Host $host;
}
ping example.com
systemctl status nginx
502 Bad Gateway
proxy_pass
地址正确域名无法访问
dig example.com
)sudo ss -tulnp | grep nginx
)重定向循环
server_name
定义通过以上步骤,你可以完成Nginx的域名基础配置。根据实际需求,可以进一步调整缓存、负载均衡等参数。