在介绍放下之前先了解Nginx的配置文件 nginx.conf
,默认的配置文件如下(只关注未被注释的server块即可):
... |
80是Nginx的默认监听端口
server_name可以写公网ip,也可以写域名,当访问这个server_name时,就会进入Linux根目录
location /
下的内容。
例如,访问 server_name
,真实的访问路径就是server_name:80
,而在linux中的绝对路径就是 /html/index.html
。
根目录 /
只能有一个,但是可以自己添加多个普通目录,比如我再添加一个 location
。
location /demo1 { |
这样当在浏览器中输入 server_name/demo1
,就会被这个location匹配,跳转到物理内存 /data/MyProject/html/demo1/index.htm
l 寻找静态资源。拼接的方法是 root+location+index
。
如果想自定义/data/MyProject/html/demo1/
目录下被搜索的文件,比如/data/MyProject/html/demo1/test.js
,就删掉index index.html;
这行,在浏览器中输入 server_name/demo1/test.js
即可。
回归正题
总结来说,如果想在浏览器输入 server_name/demo1
来访问静态项目,总共需要三步。
把项目文件夹命名为
demo1
,然后将之放置在/data/MyProject/html/
文件夹下,看需求决定是否设置默认的访问对象index.html
。添加上述
location
到Nginx配置文件。重新加载配置并重启Nginx。
sudo systemctl reload nginx # 重新加载配置,一般是在修改过 nginx 配置文件时使用。
sudo systemctl restart nginx # 重启 nginx 服务
由上可知,同一 server_name
下的多哥项目,可以用多个 location块
区分。
同理,如果想用想在同一台服务器上用多个域名访问多个项目,就可以用多个 server块
来实现。