手把手带你从0搭建个人网站
1. 环境准备
安装 Nginx
在 Linux 系统 (以 Ubuntu 为例) 上安装 Nginx:
bash
sudo apt update
sudo apt install nginx -y
安装完成后,通过以下命令检查 Nginx 是否运行:
bash
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
可以通过访问 http://<服务器IP>
检查 Nginx 是否安装成功。成功的话,会看到默认的 Nginx 欢迎页面。
2. 准备网站文件
将你的网站文件(HTML、CSS、JS 等)准备好,并存放在服务器的一个目录中,例如:
bash
/var/www/my_website
确保该目录及文件对 Nginx 有权限访问:
bash
sudo chown -R $USER:$USER /var/www/my_website
sudo chmod -R 755 /var/www/my_website
3. 配置 Nginx
创建 Nginx 配置文件
Nginx 的配置文件存放在 /etc/nginx/sites-available/
中。
创建一个新的站点配置文件,例如 my_website.conf
:
bash
sudo nano /etc/nginx/sites-available/my_website
在文件中写入以下内容:
nginx
server {
listen 80;
server_name your-domain.com; # 修改为你的域名或者服务器的IP
root /var/www/my_website; # 网站文件的根目录
index index.html; # 默认加载的文件
location / {
try_files $uri $uri/ =404; # 如果文件不存在,返回404
}
}
- 将
your-domain.com
替换为你的域名或服务器 IP。 root
指定网站文件的实际路径。
启用站点配置
创建一个软链接,把配置文件链接到 /etc/nginx/sites-enabled/
:
bash
sudo ln -s /etc/nginx/sites-available/my_website /etc/nginx/sites-enabled/
检查配置文件语法
确认没有语法错误:
bash
sudo nginx -t
如果通过测试,重启 Nginx:
bash
sudo systemctl reload nginx
4. 测试网站
- 打开浏览器,访问你的服务器 IP 或域名,例如:
http://your-domain.com
。 - 你的网站应该能够正确加载。
5. 启用 HTTPS(可选,但推荐)
为了安全起见,可以为网站启用 HTTPS。最简单的方法是使用 Certbot 和 Let’s Encrypt 免费证书。
安装 Certbot
在 Ubuntu 上安装 Certbot 和 Nginx 插件:
bash
sudo apt install certbot python3-certbot-nginx -y
获取 SSL 证书
运行以下命令以获取 SSL 证书并自动配置 Nginx:
bash
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
-d your-domain.com
是你的主域名,-d www.your-domain.com
是子域名。
Certbot 将自动配置 Nginx 文件以支持 HTTPS。现在可以通过 https://your-domain.com
访问你的网站。
自动更新证书
Let’s Encrypt 的证书有效期为 90 天,建议设置自动更新:
bash
sudo crontab -e
添加以下定时任务:
bash
0 0 * * * certbot renew --quiet
6. 常见问题排查
- Nginx 配置语法错误:运行
sudo nginx -t
检查语法。 - 防火墙问题:确保端口 80 和 443 没有被防火墙阻止。bash
sudo ufw allow 'Nginx Full' sudo ufw enable
- 文件权限问题:确保 Nginx 有权限访问网站目录。