资讯专栏INFORMATION COLUMN

服务器部署静态资源(通过nginx反向代理)

liujs / 2923人阅读

摘要:场景最近一直在做一个养老项目,符合时代发展,此项目为一个前后端分离的项目,对于后台的部署比较熟悉,说到前端的静态资源部署一时间有点蒙圈,后来查阅资料发现,其实很简单。

场景

最近一直在做一个养老项目,符合时代发展,此项目为一个前后端分离的项目,对于后台的部署比较熟悉,说到前端的静态资源部署一时间有点蒙圈,后来查阅资料发现,其实很简单。

前提

工具

基础知识

工具

软件推荐
本地与服务器相互连接的软件有很多,secureCRT,putty,xsehll等等,那我这里推荐使用xshell与xftp组合,对于不熟悉linux命令的前端人员来说也可以很方便的操作,不过xshell与xftp是收费的,我们自行下载破解版本即可,文章末尾给出我的百度云连接。
软件安装
对于xshell与xftp的安装其实很简单,傻瓜式安装即可,当然在安装路径选择的时候可以按照个人喜好选择安装地址即可,最好全部都是英文路径。

基础知识 xshell与xftp使用

安装好后软件如下:

xshell连接远程服务器图文教程

双击打开xsehll如下所示,点击左上角图标

填写远程要连接的服务器信息

选择刚刚创建好的连接进行连接


接下来输入用户名和密码,记得让其记住,下次连接即不用在次输入用户名和密码



等待数秒后,进入系统,默认进入的一般是家目录,我们键入 cd / 切换到跟目录

xftp的使用

如果我们将xftp安装好的话,我们可以在xshell中直接启动ftp,并且ftp已经从本地挂载到了服务器上,我们用户完全可以使用鼠标拖动的方式上传文件(前提是有权限)
点击上面的按钮,进入如下画面

linux

对于大多数服务器其实都是linux系统,所以要想操作服务器,多多少少要对linux的shell脚本稍有了解,那对于我们部署服务器其实了解一下或者不了解都可以,我简单列举几个命令,视情况掌握即可。

cd .. 返回上一级目录

cd ../.. 返回上两级目录

cd / 进入根目录

cd xx 进入相应目录

ls 查询当前目录下都有哪些内容

rm -rf xx 删除xx文件或者目录(慎用,别不小心删除了系统。。)

whereis xxx 查询某个软件位置

大概知道这几个命令差不多就够了。

nginx

对于nginx来说,主要作用是使用他来做反向代理与负载均衡,作用我们不过多的列举了,直接说我们的配置方式。
默认安装情况下,我们的nginx会位于linux服务器根目录下的/etc/nginx下,而这里面我们主要关注两个东西

nginx.conf

conf.d

分别解释一下是什么东西

nginx.conf是nginx的默认配置文件,我们配置反向代理与负载均衡都会加载此配置文件

conf.d 这是一个文件夹,我们增加一些配置文件,可以在此文件夹下写,之后配置到nginx.conf中

加载conf.d下的文件到nginx.conf中

    http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  "$remote_addr - $remote_user [$time_local] "$request" "
                      "$status $body_bytes_sent "$http_referer" "
                      ""$http_user_agent" "$http_x_forwarded_for"";

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

重点是最后一样代码,将conf.d下的配置文件引入其中。

conf.d下的配置文件编写
这个就是配置的重点,先列举配置文件,在进行解释

server {
      listen  80;
      server_name static.xxx.xx;

      location / {
        root /static;
      }
      
      location ~/(javascript|css|images){
        root /static/;
      }
  
}

这里的原理就是 nginx会默认监听80端口,如果有域名为static.xxx.xx的访问我们服务器的话(让域名解析到我们的服务器的公网上,如有不懂,百度了解一下),会默认去访问根目录下的static文件夹,而我们就需要把我们的静态资源放入到根目录下(cd / 就进入根目录了)的static中即可。

static文件里面的格式如下:

到此为止,如果我们是新增加的配置,那么我们需要重新让nginx去加载配置文件。
nginx默认可执行文件在/usr/sbin/下,执行命令:

/usr/sbin/nginx -s reload

执行完如果没有任何输出,恭喜你,配置文件没有问题,如果有问题,按照提示去查看哪里出问题了。我这里就不列举出问题的情况了,回头我会多带带写一个。

如果没有修改配置文件,仅仅修改了上传的静态资源,也就是我们只是替换根目录下的static里面的东西,不需要重新加载nginx的配置文件。

到此为止,我们可以直接在网页上访问一下,看看是否能输出静态资源,比如css或者js等。
页面上访问域名:static.xxx.xx/~,后面的~就是你static下面的资源,比如你在static下放了一个css的文件夹,css文件夹下有一个hello.css,那么访问方式就为

static.xxx.xx/css/hello.css

如果页面有内容输出,贼表示静态资源部署成功。

前端资源入口
一般前后端分离的项目,前端都会给后台一个入口,拿我的项目为例,我们是java搭建的分布式后台,服务器使用的tomcat,入口应在我的登陆系统中,那么我们就需要把前端给我们的index.html文件放到我们后台程序的默认入口即可。
但是这里根据情况我们会要做一些修改,比如html文件我们要把他变为jsp文件,其实也很简单,我们首先将其扩展名更改,之后打开文件,在其头部添加如下一行代码即可:

<%@page pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>

之后保存,放到服务器入口。
这个入口在我们相应服务器的(以tomcat为例)webapps/ROOT/WEB-INF/views/ 下,我们将修改的index.jsp放到这里既可。

到此为止我们就可以让后台启动服务,访问前台提供好的入口,进行访问了。
不过这里希望大家明确一点,就是前端的所有访问静态资源的路径要全部修改成线上的环境。

最后附上软件下载地址:
链接:https://pan.baidu.com/s/1bqkVGC3 密码:ecvc

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107300.html

相关文章

  • nginx反向代理、动静分离、负载均衡

    摘要:反向代理要说反向代理,我们就先要理解正向代理下面我们就谈谈正向代理和反向代理吧。客户端才能使用正向代理。反向代理总结就一句话代理端代理的是服务端。因此,动态资源转发到服务器我们就使用到了前面讲到的反向代理了。 反向代理 要说反向代理,我们就先要理解正向代理 ,下面我们就谈谈正向代理和反向代理吧。 正向代理 一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始...

    DTeam 评论0 收藏0
  • 了解 Nginx 主要应用场景

    摘要:简单而言就是当有台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而目前支持自带种负载均衡策略,还有种常用的第三方策略。客户端才能使用正向代理。 Nginx能做什么 反向代理 负载均衡 HTTP服务器(包含动静分离) 正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功...

    niceforbear 评论0 收藏0
  • Nginx

    摘要:此外,其也能够提供强大的反向代理功能。是由为俄罗斯访问量第二的站点开发的,第一个公开版本发布于年月日。 keepalived+nginx 实现高可用双机热备 + 负载均衡架构 1 准备4个ubuntu16.04虚拟机(启用网卡二并使用桥接模式):A服务器:192.168.0.103 主B服务器:192.168.0.104 主(备) 前端工程师学习 Nginx ...

    syoya 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<