知用网
柔彩主题三 · 更轻盈的阅读体验

Nginx配置部署网站:从零开始搭建你的线上站点

发布时间:2025-12-19 02:30:30 阅读:179 次

很多人第一次搭网站,听到Nginx总觉得高深莫测。其实它就像你家的门卫,负责把访客(用户请求)正确引导到对应的房间(后端服务或静态文件)。只要几步配置,就能让网站跑起来。

安装Nginx并不复杂

在主流Linux系统上,比如Ubuntu,一条命令就能搞定:

sudo apt update && sudo apt install nginx

装完后输入systemctl status nginx看看状态,如果显示“active (running)”,说明服务已经启动。这时候打开浏览器访问服务器IP,能看到Nginx默认欢迎页,就代表基础环境没问题了。

准备你的网站内容

假设你有个简单的HTML页面,放在/var/www/my-site目录下。结构可能是这样:

index.html
style.css
script.js
images/logo.png

这个目录就是你的网站根目录,后续配置里会用到。

修改配置文件指向网站

Nginx的主配置一般在/etc/nginx/nginx.conf,但我们更常改的是站点配置,通常放在/etc/nginx/sites-available/下面。新建一个叫my-site的文件:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/my-site;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

这里的关键点:listen 80表示监听80端口;server_name填你的域名,没域名可以先写IP或本地host测试;root指定文件存放路径;location /块里的try_files会按顺序找文件,找不到就返回404。

启用站点配置

配置写好后,还需要创建软链接到sites-enabled目录,Nginx才会加载它:

sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/

然后检查配置有没有语法错误:

sudo nginx -t

如果提示“syntax is ok”和“test is successful”,就可以重载配置生效了:

sudo systemctl reload nginx

绑定域名与本地测试

如果你还没买域名,可以在自己电脑的/etc/hosts文件里加一行:

192.168.1.100 example.com

把IP换成你服务器的实际内网或公网IP。保存后,浏览器访问http://example.com,就能看到你的页面了。

常见问题处理

有时候改完配置刷新页面却没变化,大概率是浏览器缓存搞的鬼。试试Ctrl+F5强制刷新,或者换个浏览器看看。

还有一种情况是文件权限问题。确保Nginx进程有权限读取你的网站目录:

sudo chmod -R 755 /var/www/my-site
sudo chown -R www-data:www-data /var/www/my-site

其中www-data是Nginx默认运行用户,不同系统可能略有差异。

进阶一点:反向代理静态资源

如果你的网站前端是Vue或React打包出来的静态文件,也可以用同样方式部署。假设构建后的文件都在dist目录,直接把root指向它就行。

但如果前端通过history模式去掉了URL里的#号,就得让所有路由都指向index.html。这时location要这么写:

location / {
    try_files $uri $uri/ /index.html;
}

这样一来,即使用户访问/about这种路径,也能正确加载页面,由前端框架接管路由。

部署网站没那么玄乎,Nginx配置也就那几个关键块。动手试一次,比看十篇教程都管用。