前后端分离项目部署

项目部署

1 环境搭建

1:使用工具自动搭建

OneinStack - 一键PHP/JAVA安装工具

​ 需要mysql,Njinx,Tomacat,jdk8,

2: 数据库

登录:mysql -uroot -p密码

Mysql远程连接:登录进入msql命令模式

	**mysql8:**	
			CREATE USER 'root'@'%' IDENTIFIED BY '123456';
			GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
			
	**mysql5:** 
			grant all privileges on *.* to root@'%' identified by '123456';
			
	刷新权限		
			flush privileges;

设置字符编码

	查看编码方式:`show variables like 'character_set%';`
	编辑文件	vim /etc/my.cnf(没有就自己创建一个,vi会自动创建)
			

注意:如果my.cnf存在,那么就在[mysqld]处将下面的配置拷贝进去,并删除原来的[mysqld],因为配置中存在一个,不能有两个;

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

2 启动项目

1 后端启动

1:将后端jar包上传到lindux服务器,一般放在/usr/local/src/下
2:测试启动(这个启动后当你关闭命令窗口或Ctrl+c 服务就关闭)
	java -jar 你的jar包
3:关闭测试启动,用无后台启动方式启动(将日志文件全部存在 ./logs/pms.log 文件中)
nohup java -jar ronghua-permission-system-1.0-SNAPSHOT.jar >> ./logs/pms.log 2>&1 &
4:端口占用
查看端口的运行进程:  lsof -i:8080
关闭端口服务:    kill -9 进程号

2 前端启动

1:Tomcat 启动前端或前后不分离项目

1:导包

​ 将项目target里面的以项目名命名的包里面的WEB-INF和static包上传到服务器的Tomacat的webapps目录下

这个WEB-INF里面必须要包含 classes和lib和views包

2:启动项目(默认8080端口)

​ 切换到Tomcat的bin目录下

注意:有些版本有server.xml 和 server.xml.bk 两个文件,将他们换一下名字就行了

启动  ./startup.sh 
停止  ./shutdown.sh
2:Tomcat 启动前后端分离项目

1:导包

​ vue前端打包后将static包和index.html文件上传到Tomcat的webapps目录下

2:启动

3:改端口

​ 在Tomcat的conf/server.xml 文件里面修改

3: Njinx启动前后端分离项目

1:将打包文件放在njinx的html包下

2:启动

启动  systemctl start nginx
重启  systemctl restart nginx
停止  systemctl stop nginx
状态  systemctl status nginx

3:启动多个前端项目

​ 1:在html包下分出多个包 web1,web2分别放两个项目的文件

​ 2:修改nginx.conf文件

​ 找到里面的server,添加下面代码

server {
      listen 80;
      server_name  www.wanghaihai1.org;  #这个域名需要注册,否则只能用ip
      location / {
              root   html/web1;
              index  index.html;
      }
    }
server {
      listen 80;
      server_name  www.wanghaihai2.org;
      location / {
              root   html/web2;
              index  index.html;
      }
    }  
    

​ 解决跨域(将前端的8088端口请求转接到后端8080端口)

server {
      listen 8088;
      server_name  localhost;
	  location / {   
		add_header 'Access-Control-Allow-Origin' $http_origin;
		add_header 'Access-Control-Allow-Credentials' 'true';
		add_header 'Access-Control-Allow-Methods' 'PATCH,GET,POST,DELETE,PUT,OPTIONS';
		add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,token,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
		add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
		if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' $http_origin;
			add_header 'Access-Control-Allow-Credentials' 'true';
			add_header 'Access-Control-Allow-Methods' 'PATCH,GET,POST,DELETE,PUT,OPTIONS';
			add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,token,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
			add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

			add_header 'Access-Control-Max-Age' 1728000;
			add_header 'Content-Type' 'text/plain; charset=utf-8';
			add_header 'Content-Length' 0;
			return 204;
		}
		
		proxy_pass http://localhost:8080;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_connect_timeout 5;
	  }
	}
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值