在Ubuntu上部署Nginx网站的步骤如下:
1. 更新系统包
首先,确保你的系统包是最新的:
sudo apt update
sudo apt upgrade -y
2. 安装Nginx
使用以下命令安装Nginx:
sudo apt install nginx -y
3. 启动Nginx服务
安装完成后,启动Nginx服务并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
4. 验证Nginx是否运行
打开浏览器,访问你的服务器IP地址或域名,应该会看到Nginx的默认欢迎页面。
5. 配置Nginx服务器块
默认情况下,Nginx会使用/etc/nginx/sites-available/default文件作为默认服务器块。你可以编辑这个文件来配置你的网站。
创建一个新的服务器块文件
sudo nano /etc/nginx/sites-available/yourdomain.com
将yourdomain.com替换为你的域名。
编辑服务器块文件
在文件中添加以下内容:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/yourdomain.com;
}
}
将yourdomain.com替换为你的域名,并将/var/www/yourdomain.com替换为你的网站根目录。
创建网站根目录
sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com
启用服务器块
创建一个符号链接以启用该服务器块:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
测试Nginx配置
在重新加载Nginx之前,测试配置文件是否有语法错误:
sudo nginx -t
重新加载Nginx
如果配置文件没有问题,重新加载Nginx以应用更改:
sudo systemctl reload nginx
6. 配置SSL(可选)
为了提高安全性,建议为你的网站配置SSL证书。你可以使用Let’s Encrypt免费获取SSL证书。
安装Certbot
sudo apt install certbot python3-certbot-nginx -y
获取并安装SSL证书
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的安装和配置。
7. 配置防火墙(可选)
如果你使用的是UFW防火墙,确保允许HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
完成以上步骤后,你的网站应该已经成功部署在Ubuntu上,并且可以通过浏览器访问。