Skip to content

手把手带你从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 有权限访问网站目录。