前后端分离项目Nginx部署

3 篇文章 0 订阅
2 篇文章 0 订阅

前后端分离项目Nginx部署

更多详细内容请前往我的个人博客

一、在Linux先安装好Java和Nginx
1.安装Java

下载好Java安装包,解压

[root@jiang java]# ll
total 187328
drwxr-xr-x 7   10  143      4096 Dec 16  2018 jdk1.8.0_201
-rw-r--r-- 1 root root 191817140 Dec 19  2018 jdk-8u201-linux-x64.tar.gz
[root@jiang java]# tar -zxvf jdk-8u201-linux-x64.tar.gz

配置环境变量

vim /etc/profile 在尾处添加

export JAVA_HOME=/opt/software/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使环境变量生效 source /etc/profile

检查版本

[root@jiang java]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@jiang java]#
2.安装Nginx

进入nginx官网下载页面,下载Linux所需的压缩包文件。

nginx-1.20.1.tar.gz

在安装nginx之前需要安装pcre,gcc,openssl,zlib。因为nginx依赖这些环境。

yum install pcre pcre-devel gcc openssl openssl-devel zlib zlib-devel

上传nginx压缩包到linux,解压。

tar -zxvf nginx-1.20.1.tar.gz

进入解压缩目录,执行./configure。

cd nginx-1.20.1/

./configure

执行make

make

执行make install

make install

nginx已完成安装,默认安装目录为 /usr/local/nginx

进入安装位置的sbin目录,使用./nginx启动nginx

cd /usr/local/nginx/sbin

./nginx
用浏览器访问安装nginx所在机器的ip地址可以看到nginx欢迎页面,表示安装成功。
二、启动springboot后端项目和配置vue前后台两个前端项目
1、启动springboot后端项目

springboot后端项目打成jar包,上传到Linux。

nohup java -jar xxx.jar  > /opt/software/blog/data/logs/logs_out.log  2>&1 & 
2、vue前后台两个前端项目配置打包与部署

前台项目配置vue.config.js

module.exports = {
    transpileDependencies: ["vuetify"],
    publicPath:'/blog',		// 配置公共路径,方便Nginx代理
    devServer: {
        port: 9090,
        proxy: {
            "/api": {
                target: "http://localhost:8081",	// 访问后台地址
                changeOrigin: true,
                pathRewrite: {
                    "^/api": ""
                }
            }
        },
        disableHostCheck: true
    },
    productionSourceMap: false,
    css: {
        extract: true,
        sourceMap: false
    }
};

router下的index.js文件配置(部分)

....
const router = new VueRouter({
  mode: "history",
  // base: process.env.BASE_URL,
  base:"/blog",	// 配置公共路径,方便Nginx代理
  routes
});

export default router;
打包后,将dist文件放到Nginx的/html/front/目录下(没有front目录就创建)

后台项目配置vue.config.js

module.exports = {
    publicPath:'/admin',	// 配置公共路径,方便Nginx代理
    productionSourceMap: false,
    devServer: {
        port: 9000,
        proxy: {
            "/api": {
                target: "http://127.0.0.1:8081",
                changeOrigin: true,
                pathRewrite: {
                    "^/api": ""
                }
            }
        },
        disableHostCheck: true
    },
    chainWebpack: config => {
        config.resolve.alias.set("@", resolve("src"));
    }
};

router下的index.js文件配置(部分)

const createRouter = () =>
  new VueRouter({
    mode: "history",
    base:"/admin",	// 配置公共路径,方便Nginx代理
    routes: routes
  });
打包后,将dist文件放到Nginx的/html/admin/目录下(没有admin目录就创建)
三、Nginx的nginx.conf配置
server {
        listen       9000;	# 监听9000端口
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /blog {	# 带/blog的路由跳转到前台
            alias   /usr/local/nginx/html/front/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        location /admin {	# 带/admin的路由跳转到后台
            alias  /usr/local/nginx/html/admin/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
		error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #	后台获取数据接口,带api的,截取掉后再进行请求
        location ~* ^/(api) {
            rewrite ^/api/(.*)$ /$1 break;
            proxy_pass   http://127.0.0.1:8081;
        }
}

重启Nginx

[root@jiang nginx]# ./sbin/nginx -s reload
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值