700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 前后端分离项目Nginx部署

前后端分离项目Nginx部署

时间:2022-04-20 04:37:34

相关推荐

前后端分离项目Nginx部署

前后端分离项目Nginx部署

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

一、在Linux先安装好Java和Nginx

1.安装Java

下载好Java安装包,解压

[root@jiang java]# lltotal 187328drwxr-xr-x 7 10 1434096 Dec 16 jdk1.8.0_201-rw-r--r-- 1 root root 191817140 Dec 19 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_201export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH

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

检查版本

[root@jiang java]# java -versionjava 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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。