linux java -jar部署springclound 前后端分离nginx配置 Nginx区分路径部署多个Vue项目

不使用容器运行springclound服务

1.启动使用命令

nohup java -jar  eureka.jar >log/eureka.log 2>&1

eureka.jar运行的一切日志都会打印到eureka.log文件下,最后的&,保障即使关闭命令窗口、退出连接,该jar包也能在服务器上跑起来…直到你主动关闭它。
2.查看进程

//查看所有的当前进程
ps aux|grep eureka.jar
//查看所有的java进程
ps aux|grep java

3.查看日志

tail -200f eureka.log

查看eureka.log最近200行日志

Nginx区分路径部署多个Vue项目

Vue项目配置

1.添加配置vue.config.js 文件 静态资源路由js,css等路径
但是 vue config 是全局的配置,我这个项目直接修改这里不合适,于是我就在项目 根路径 下自己手动添加了vue.config.js

module.exports = {
    publicPath: process.env.NODE_ENV === 'production'
        ? '/app/mall/'   // /app/mall/ 对应后面`nginx`路径,这里添加的目的是其他静态资源文件统一前缀路径
        : '/',
};

2.修改src/router/index.js, 项目页面跳转路由

const router = new VueRouter({
    base: '/app/mall',   // 主要添加这个 /app/mall 注意这个 和上面的一致,为nginx location路径, 也就是请求路径
    routes,
    mode: 'history'
});

3.修改 src/config/index.js 项目生产请求地址(非必要)
非必要,这个地方每个人封装的都不一样,默认会请求 部署的环境地址。

export let appConfig = {
    development: 'http://127.0.0.1:8010',      // 本地开发 (ps:vue-cli会自动帮我们区分生产开发,npm run serve就是开发,
    production: 'https://www.your_domain.com',  // 生产地址 npm run build 默认为生产
};

然后 我是在src/utils/url.js 文件里面 区分前缀的, 最后在 src/utils/request.js 文件里面使用。
4.修改好之后,可以npm run serve看看,区分好之后能否正常访问,是否有改错。
没有改错可以直接npm run build 生成静态文件

nginx 文件配置

1.Centos7 nginx默认配置地址为 /etc/nginx/nginx.conf
或者有的版本默认引入 /etc/nginx/conf.d/default.conf文件 配置

server {

    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
        
    # ...
    location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
    }
    
    
    # 添加文件
    # /app/mall 项目访问路径和上面地址对应 
    location /app/mall/ {
        alias /data/mall/;   # 项目存放路径
        try_files $uri $uri/ /app/mall/index.html;  # 内部项目跳转路径
    }
}

2.检测配置是否有语法错误

nginx -t

3.重新加载配置

nginx -s reload

前后端分离Nginx转发

前后端分离中Nginx作为web前端容器,需要访问后端接口通常需要通过路径转发,直接访问后端API会造成跨域问题,配置文件如下

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
         }

         location ^~ /app/ {
          
            proxy_pass  http://localhost:8081/;
         }

其中端口80,访问根路径 http://localhost/ 则为 nginx容器本身内容,
如访问 http://localhost/app/ 将会跨域转发至http://localhost:8081/ 目录下 ,
即访问http://localhost/app/api/test 实为 http://localhost:8081/api/test 。

遇到数据库、redis连接失败的时候

1.部署前本地运行:数据库用户名、密码是否有误,redis是否设置密码;是否有网络环境的问题,本地与服务器之间ping不通,或者不能telnet端口。
2.linux运行:使用命令行连接测试是否有用户名、密码错误或者网络问题

在jar的服务器输入命令登入redis测试:

#先到redis目录下 可使用find / -name redis.conf查找redis目录
./redis-cli -h x.x.x.x -p 6379        
#使用auth 测试是否能登入
auth 密码    

在jar的服务器输入命令登入mysql测试:

#172.16.16.45为数据库的ip  3306为数据库的端口 123为数据库的密码,可根据你的连接信息修改
mysql -h 172.16.16.45 -P 3306 -u root -p123
#登入成功后输入密码

参考文件:
前后端分离:https://www.cnblogs.com/wangpeili/p/12501686.html
Centos7 Nginx区分路径部署多个Vue项目:https://segmentfault.com/a/1190000023423926

你可能感兴趣的:(政务内网部署,启动服务报错,nginx,linux,java,jar)