centos7 上部署springboot项目+vue项目

前提需求

安装npm&node

感谢来自 weixin_33877885的博文

Centos7:安装node和npm & npm配置全局路径

注意:

笔者安装的版本(上篇文章第一步)

https://npm.taobao.org/mirrors/node/v12.22.1/node-v12.22.1-linux-x64.tar.xz

笔者并没有使用软连接(上篇文章的第七步)

安装jdk(1.8版本)

yum install -y java-1.8.0-openjdk-devel.x86_64
java -version(查看版本号验证是否安装成功)
vi /etc/profile(配置环境变量)
----最后三行添加:-----
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
:wq(保存退出)
source /etc/profile(更新配置)

安装maven

感谢来自 hello_world!的博文

Centos7安装maven

注意:

笔者第五步及之后没有执行

安装nginx(这一步我是用宝塔安装的)

前端部署

将前端项目打包成zip文件

接着上传到服务器你所放的位置

使用unzip解压

(在项目中)使用命令

npm install --unsafe-perm --registry=https://registry.npm.taobao.org

生成dist文件夹(静态资源的路径)

npm run build 

后端部署

  • 1.确保本地项目可以正常运行

  • 2.(项目以文件夹的形式)提交到服务器你所放的位置

  • 3.修改yml文件中,数据库,redis,。。。的位置,符合在你服务器的地址

  • 4.在项目根目录下使用

mvn package

对项目进行打包

  • 5.在target中找打所打包的文件,放到上一级目录

  • 6.运行

    nohup java-jar jar包的名称.jar &
    
  • 7.可以查看log.out常看日志文件

在nginx中配置

前端项目中文件修改

axios请求设置成api

nginx配置文件中修改

在宝塔中直接修改,保存,重新加载)

user  root;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name www.bt.cn;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }
    server
    {
        listen 8080;
        server_name 192.168.1.32;
        
        location / {
        index index.html index.htm ;
        root  /root/workspace/vueadmin/dist;
        try_files $uri $uri/ /index.html; # 解决页面刷新404问题
        }
        
        

        #error_page   404   /404.html;
       

        location /api/{
           proxy_set_header Host $http_host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_set_header  REMOTE-HOST  $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://192.168.1.32:8802/;
        }
        
        location /sys/api/{
           proxy_set_header Host $http_host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_set_header  REMOTE-HOST  $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://192.168.1.32:8802/;
        }
    }
    
    
include /www/server/panel/vhost/nginx/*.conf;
}


参数说明
server
    {
        listen 8080;
        server_name 192.168.1.32;

监听8080端口,前端部署在192.168.1.32上面

location / {
        index index.html index.htm ;
        root  /root/workspace/vueadmin/dist;
        try_files $uri $uri/ /index.html; # 解决页面刷新404问题
        }

首页访问

3.转向访问后台地址

location /api/{
           proxy_set_header Host $http_host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_set_header  REMOTE-HOST  $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://192.168.1.32:8802/;
        }
        
        location /sys/api/{
           proxy_set_header Host $http_host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_set_header  REMOTE-HOST  $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://192.168.1.32:8802/;
        }

http://192.168.1.32:8802/时笔者springboot启动的端口。

注意:

try_files $uri $uri/ /index.html; # 解决页面刷新404问题

location /sys/api/(不知道为什么会出现这种接口,直接配置一个)

可以正常访问了前端项目呢

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值