在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.comsystemctl status nginx502 Bad Gateway
proxy_pass地址正确域名无法访问
dig example.com)sudo ss -tulnp | grep nginx)重定向循环
server_name定义通过以上步骤,你可以完成Nginx的域名基础配置。根据实际需求,可以进一步调整缓存、负载均衡等参数。