Linux如何使用Nginx部署前端项目

这篇具有很好参考价值的文章主要介绍了Linux如何使用Nginx部署前端项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Nginx安装

1、添加 nginx 官方提供的 yum 源(需要联网且时间较长)

输入命令:

rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

Linux如何使用Nginx部署前端项目

2、使用 yum 安装 nginx

输入命令:

yum install nginx

注1:yum方式安装nginx,它的安装根目录为/etc/nginx
注2:查看nginx版本
     输入命令: rpm -qa | grep nginx

Linux如何使用Nginx部署前端项目

 小嘴一提:

Nginx的默认端口号是80,所以在访问项目输入地址的时候是不需要添加端口号进去的。

3、启动及设置开机启动

输入命令: 

 systemctl start nginx.service
 systemctl enable nginx.service

检查80端口有没有在使用

输入命令:lsof -i:80

Linux如何使用Nginx部署前端项目

4、 设置防火墙开放 80 端口

输入命令(依次输入): 

 firewall-cmd --zone=public --add-port=80/tcp --permanent
 firewall-cmd --reload && firewall-cmd --list-port

【小嘴一提:如果想同时启动两条命令,中间请用 && 连接】

5、测试 nginx 是否可被访问,应该显示nginx的欢迎界面

  http://服务器IP地址:80/

Linux如何使用Nginx部署前端项目


二、tomcat负载均衡  

1、准备2个tomcat

第一个在前面部署后端的时候已经创建。

第二个:复制前面第一个tomcat

输入命令:

cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/

Linux如何使用Nginx部署前端项目

2、第2个修改的配置如下

在Tomcat里conf文件中的servl.xml中修改配置 。

Linux如何使用Nginx部署前端项目

①. HTTP端口,默认8080,如下改为8081

Linux如何使用Nginx部署前端项目

②.远程停服务端口,默认8005,如下改为8006

Linux如何使用Nginx部署前端项目

③.AJP端口,默认8009,如下改,8010

Linux如何使用Nginx部署前端项目

3、 设置防火墙开放 80 端口

输入命令(依次输入):

 firewall-cmd --zone=public --add-port=8081/tcp --permanent
 firewall-cmd --reload && firewall-cmd --list-port

Linux如何使用Nginx部署前端项目

4、测试访问

启动两个Tomcat 

Linux如何使用Nginx部署前端项目

http://192.168.195.139:8080/

Linux如何使用Nginx部署前端项目
http://192.168.195.139:8081/

Linux如何使用Nginx部署前端项目


5、Nginx配置文件 

为了测试同一个网址可能会请求不同服务器,在不同的服务器中部署的是同一个项目,对于用户而言是感知不到的。所以我们将8080和8081服务器的index.jsp首页稍稍修改一个方便大家更直观的感受区别!

5.1.查看nginx程序目录

systemctl status nginx

Linux如何使用Nginx部署前端项目

查看nginx.conf文件内容

cat  /etc/nginx/nginx.conf

Linux如何使用Nginx部署前端项目

5.2、编辑 /etc/nginx/路径下的nginx.conf配置文件 

Linux如何使用Nginx部署前端项目

upstream  tomcat_list {  #服务器集群名字
	server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
	server    127.0.0.1:8081  weight=1; #服务器2   weight是权重的意思,权重越大,分配的概率越大
} 

5.3、 编辑 /etc/nginx/conf.d/ 路径下的 default.conf 配置文件

Linux如何使用Nginx部署前端项目

location / {
      #root   /usr/share/nginx/html;
      #proxy_pass   http://172.17.0.3:8080;
      proxy_pass   http://tomcat_list;
      index index.html index.htm;
  }

Linux如何使用Nginx部署前端项目

 这两步就是实现了访问Nginx192.168.26.128:80跳转至配置好Tomcat_list的两个服务器中6)

重启Nginx服务,让配置生效

systemctl restart nginx

访问Nginx192.168.26.128:80(80端口是唯一可以不用带的端口号) 

发现出错,我们打开日志文件查看错误

Linux如何使用Nginx部署前端项目

5.4、查看nginx的访问日志和错误日志

cat /var/log/nginx/access.log
cat /var/log/nginx/error.log 

Linux如何使用Nginx部署前端项目

分析错误的解决方法:

setsebool -P httpd_can_network_connect 1 

一定要进入/etc/nginx/conf.d/目录下才有用!!!

Linux如何使用Nginx部署前端项目

 执行完这个命令我们再刷新访问Nginx的页面:它就可以实现访问Nginx但是均衡分配访问两个Tomcat服务器上面去了,这样的话就算我们停止一个Tomcat服务器也能访问.

Linux如何使用Nginx部署前端项目 


 三、部署前端项目

1、确保前台项目能用

2、将前台项目打包

npm run build        【测试本地项目打包后没问题】

Linux如何使用Nginx部署前端项目

Linux如何使用Nginx部署前端项目

 注意1:打包会遇到的问题1:hbuilderX打包vue项目白屏问题

 将项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPublicPath中的“/”,改为“./”后,再打包生成的 dist 文件。

build: {
    // assetsPublicPath: '/',//修改前
    assetsPublicPath: './',//修改后
}

Linux如何使用Nginx部署前端项目

  注意2:hbuilderX打包项目,element-ui的icon图标无法正常显示

找到build文件的utils.js 中有打包的路径,看看generateLoaders();Extract CSS when that option is specified, 指定该选项时提取CSS发现少了个公共路径,加上pubilcPath

if (options.extract) {
     return ExtractTextPlugin.extract({
       use: loaders,
       fallback: 'vue-style-loader',
       // 解决icon路径加载错误
       publicPath:'../../'
     })
   } else {
     return ['vue-style-loader'].concat(loaders)
   }

Linux如何使用Nginx部署前端项目

3、 做ip/host主机映射

 将虚拟机ip映射域名www.zking.com

方法:

C:\Windows\System32\drivers\etc\hosts中增加映射关系

192.168.26.128 www.zking.com  

Linux如何使用Nginx部署前端项目

4、完成Nginx动静分离的配置文件default.conf的相关配置

定义规则:URL符合xxx标准走动态请求,不符合走静态请求。

更改第一个:静态的资源加载以及域名

  listen       80;            #监听80端口,可以改成其他端口
    #server_name  localhost;    #当前服务的域名
    server_name  www.zking.com; #当前服务的域名(虚拟域名也可以)
    root         /usr/local/mypro/dist;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root。

Linux如何使用Nginx部署前端项目

更改第二个动静分离的区分:

 location / {
            #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
        try_files $uri $uri/  /index.html;
    }
    location  ^~/api/ {
        #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
        proxy_pass http://tomcat_list/;
    }

Linux如何使用Nginx部署前端项目

5、重启Nginx更新配置

 systemctl restart nginx

6、将前台项目打包

npm run build         【配合Nginx】

注意:修改action.js 地址,添加api的路径配置

'SERVER': 'http://www.zking.com/api/T216_SSH', //服务器,然后重新打包

7、将前端构建好的dist项目,上传到云服务器/usr/local/...只能放这里

小编在这里就专门建一个文件夹来放置这个前台打包好的文件

mkdir mypro创建文件命令

Linux如何使用Nginx部署前端项目

 

8、www.zking.com完成整个前后端分离项目的测试

Linux如何使用Nginx部署前端项目文章来源地址https://www.toymoban.com/news/detail-425197.html

到了这里,关于Linux如何使用Nginx部署前端项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

            需求:项目上线需要将前端的前台和后台部署在服务器上提供用户进行使用,部署在不同的服务器直接在服务器安装nginx即可。但是在内网安装还是有点麻烦,因为需要联网,如果是内网可以参考Linux安装Nginx并部署前端项目【内/外网-保姆级教程】_MXin5的博客-CSDN博

    2024年02月14日
    浏览(58)
  • 【运维】手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

            需求:项目上线需要将前端的前台和后台部署在服务器上提供用户进行使用,部署在不同的服务器直接在服务器安装nginx即可。但是在内网安装还是有点麻烦,因为需要联网,如果是内网可以参考Linux安装Nginx并部署前端项目【内/外网-保姆级教程】_MXin5的博客-CSDN博

    2024年02月08日
    浏览(58)
  • 【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

    目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 Nginx(发音为 \\\"engine x\\\")是一个开源的、高性能的 HTTP 服务器和反向代理服务器。它也可以作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 开发的,最

    2024年01月21日
    浏览(49)
  • Docker 安装 Nginx 部署前端项目

    注意 :这里有一个需要注意的点,Nginx 一般是根据配置文件启动的。 如果我们在第一次启动的时候就挂载目录,那么因为我们宿主机是空文件,会直接导致 Nginx 容器内的配置文件被覆盖,致使启动失败。 所以的步骤如下 1、宿主机创建好要挂载的目录 -p  参数的作用就是允许

    2024年04月11日
    浏览(40)
  • 前端如何将项目部署到服务器(Nginx)

    我们在会开发项目的同时,也应该了解一下前端是如何部署项目的; 使用Xshell连接服务器,既然想要在服务器上面放静态资源,像HTML,js等,就需要安装静态资源服务器。静态资源服务器有Apache和Nginx,这里我们选用nginx。 找到安装包Nginx安装路径,并在目录下进行解压。 进

    2024年02月01日
    浏览(45)
  • 使用nginx部署前端项目

    docker pull nginx docker images docker run --name nginx -p 8080:80 -d nginx:latest docker exec -it nginx /bin/bash mdkir /opt/nginx/conf mkdir /opt/nginx/html mkdir /opt/nginx/log docker rm -f nginx 说明: –name: 启动容器的名字 -d:后台运行 -p: 将容器的 端口映射到主机的端口 -v:挂载配置文件 在浏览器访问主机ip nginx安装

    2024年02月09日
    浏览(49)
  • Nginx基本使用以及部署前端项目

    最近学习了一下Nginx,整理了一个博客,主要参考的是狂神说的b站视频教程,文章链接如下:狂神说Nginx快速入门 到Nginx官方选择自己电脑适用的稳定版本下载,我下载的的windows版本。 下载完,就会有一个压缩包。需要创建一个文件夹用于存放解压后的nginx内容(注意:存放

    2024年02月05日
    浏览(43)
  • 使用nginx部署前端项目(超详细教程)

    (所使用前端模版已经上传到个人资源,各位敬请免费领取) 所有文章不设限,我们相遇偶然,相散坦然,互不打扰,各自安好,向阳而生 直接安装报错复现 解释: Nginx在CentOS官方软件仓库中不可用,但它在EPEL (额外的CentOS软件包)软件仓库中可用,因此安装前需要先安装

    2024年02月15日
    浏览(55)
  • 如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 本文内容记录如何在Linux(Ubuntu)系统上安装Nginx,并部署打包好的Vue前端项目,最后通过浏览器访问。 提示:以下是本篇文章正文内容,下面案例可供参考

    2024年04月16日
    浏览(45)
  • J2EE项目部署与发布(Linux版本)->jdk&tomcat安装,MySQL安装,后端接口部署,linux单体项目前端部署

    jdktomcat安装 MySQL安装 后端接口部署 linux单体项目前端部署 1.jdktomcat安装 上传jdk、tomcat安装包 解压两个工具包 #解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz #解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 配置并且测试jdk安装 #配置环境变量 vim /etc/profile #java environment export JAVA_HOME=/javaxl/softwar

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包