Nginx配置静态网站

 本篇文章介绍如何使用Nginx部署自己静态网站

准备工作

步骤

一、获取静态网站目录
# 克隆项目
git clone https://github.com/NingNing0111/AlgorithmNote.git

# site目录就是页面内容,将site目录放到root以外的目录
mv AlgorithmNote/AlgorithmNote/site/ /usr/share/nginx/html/

# 进入site目录,获取site目录的路径: /usr/share/nginx/html/
cd /usr/share/nginx/html/ && pwd

注意:网站目录不要放在root文件夹下,这会引出权限问题

二、编写配置文件

 Linux中最常用的、最牛逼的编辑器就是Vim,不会Vim的请自行上网搜索学习

 当然也有最简单方法本地使用你自己喜欢的编辑器一个配置文件,再通过文件传输工具如:Xftp编写好的配置文件拷贝到你的服务器上也是可以的。

这里我们通过Vim编辑器删除Nginx核心配置文件nginx.conf的所有内容,然后从新开始编写配置文件:

http {
    include mime.types;
    server {
        listen 80;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site;
        }
    }
}
events {}

 上述配置中,http内部用于定义http服务器行为,也就是Nginx作为Http服务器时具备哪些行为,在上述配置中,它有一个server节点,这个节点监听80端口root参数提供了该服务器的根目录include mime.types用于定义文件扩展名和对应的MIME类型,Nginx会使用它来处理不同类型文件,若不加入,则cssjs相关文件就会失效location用于配置访问路径的,上述location配置是当访问路径时,访问/usr/share/nginx/html/site/index.html页面,在没有指定*.html的情况下,默认访问index.htmlevents用于配置事件模型,在这里面可以配置Nginx如何处理并发连接事件,这个配置是必须提供的,否则会报错。上述配置中,location /没有特定指定页面的前提下,可以省略,不进行配置。

三、检查访问

 再通过nginx相关命令检查配置文件编写是否问题:

nginx -t

 没问题后,再使用nginx -s reload 重新加载配置,即可通过IP地址访问部署好的静态网页

四、添加其它服务节点

 现在需要添加一个监听81端口服务节点,当用户访问该端口时,跳转site/UnionFindSet目录。

http {
    include mime.types;
    server {
        listen 80;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site;
        }
    }
    server {
        listen 81;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site/UnionFindSet;
        }
    }
}
events {}

 重新加载配置文件后,访问IP:81,内容如下

注意:请确保81端口正常开放,否则无法访问。也可以使用curl localhost:81判断网页是否部署成功,是否是端口未开启造成无法访问

五、添加访问路径

 添加一些访问路径,来访问不同的页面内容,例如:IP:81/index访问site首页IP/bcj访问IP:81首页的内容

http {
    include mime.types;
    server {
        listen 80;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site;
        }

        location /bcj {
            alias /usr/share/nginx/html/site/UnionFindSet;
        }
    }
    server {
        listen 81;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site/UnionFindSet;
        }

        location /index {
            alias /usr/share/nginx/html/site;
        }
    }
}
events {}

 在上述配置中,我们使用了alias,在Nginx中,alias指令用于将请求的URL路径映射到服务器上的实际文件路径。它可以用于创建虚拟目录、重定向请求或提供静态文件服务。其语法如下:

location /虚拟路径 {
    alias 实际文件路径;
}

 若不使用alias而是使用root,则会将虚拟路径与实际文件路径对应起来,例如:

location /index {
    root /usr/share/nginx/html/site;
}

 它就会访问/usr/share/nginx/html/site/index/index.html

六、域名绑定

 现有一个域名nginx.nnlde.xyz成功解析到我的服务器IP地址167.***.***.63,现在需要通过在浏览器输入域名从而访问我部署的静态网站。

判断域名是否正确解析到服务器Ip上,只需通过ping 域名查看即可

http {
    include mime.types;
    server {
        listen 80;
        server_name nginx.nnlsde.xyz;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site;
        }

        location /bcj {
            alias /usr/share/nginx/html/site/UnionFindSet;
        }
    }
    server {
        listen 81;
        root /usr/share/nginx/html/site;

        location / {
            root /usr/share/nginx/html/site/UnionFindSet;
        }

        location /index {
            alias /usr/share/nginx/html/site;
        }
    }
}
events {}

 对于正确解析主机上的域名,我们可以通过server_name 域名对某一服务器节点进行配置,从而通过域名访问到当前服务器。

对于网站搭建,还有一个非常重要的内容:SSL证书配置。这一内容涉及到证书申请加密算法、SSL配置等,会在后面单独写一篇文件进行介绍

原文地址:https://blog.csdn.net/qq_41481367/article/details/132331478

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16633.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注