很多人第一次搭网站,听到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配置也就那几个关键块。动手试一次,比看十篇教程都管用。