1.打包Vue前端项目
使用npm run build命令打包前端项目
前端项目会
打包到dist文件夹中
2.打包SpringBoot后端项目
点击生命周期的package命令,对后端项目进行打包
target目录下的renren-fast.jar就是刚刚打包的后端项目
后端打包项目有一个小技巧,就是打包项目时排除lib目录,单独输出lib目录,lib改变时再重新上传至服务器,避免每次打包的项目过大和浪费时间(推荐)
如果觉得这样做麻烦,那就打包是不必要排除lib目录
<build>
<finalName>${project.artifactId}</finalName>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
<plugins>
<!-- 打包时排除lib,避免每次打出来的jar很大-->
<!-- ==================== 依赖jar 优化start ========================== -->
<!-- lib包,如果有新引入的jar包需要把lib包下的jar更新到服务器下,
// 压缩后jar包的启动指令 nohup java -Dloader.path="/root/lib/" -jar xxx.jar &
// 未压缩jar包的启动指令 nohup java -jar xxx.jar &"
-->
<!-- 压缩jar包,lib文件夹重新输出到另一个目录中,如果lib中内容改变可以在重新上传改变的内容到服务器对应lib目录 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 依赖包输出目录,将来不打进jar包里 -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<!-- 压缩jar包,打出来的jar中去除lib文件夹,减小jar包的大小 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
</plugin>
<!-- ==================== 依赖jar 优化end ========================== -->
<!-- 打包时排除lib-->
</plugins>
</build>
3.租一个服务器(腾讯云、阿里云等),配置基础设置
配置防火墙,一般开放3306、80、22、443端口,需要的再开放
在系统运行稳定后,可以生成快照,系统出错后可以回滚
4.本地安装XShell、Xftp,并上传前后端项目到服务器
单独拆分lib:上传dist,lib,renren-fast.jar(推荐)
不单独拆分lib:上传dist,renren-fast.jar
5.部署Linux基本环境,包括MySQL、Nginx、Java运行环境(JDK)、Python运行环境
Linux中安装MySQL
Linux中安装Java
Linux上卸载并部署python环境
Linux中安装Nginx
6.配置相关文件,并后台启动java项目
配置profile文件:配置全局的java和python环境
vim /etc/profile
在profile文件后面加上一下代码
export JAVA_HOME=/usr/local/jdk1.8.0_291 export
CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export
PATH=$PATH:$JAVA_HOME/bin
export PYTHON_HOME=/usr/local/python3
export PATH=${PYTHON_HOME}/bin:$PATH
使之生效
source /etc/profile
配置nginx.conf文件
cd /usr/local/nginx/conf
vim nginx.conf
修改前端监听的端口、修改前端项目的目录、修改后端项目的接口路径
server {
listen 8000;
server_name localhost;
location / {
root /root/dist; #这里先写vue前端项目的目录
index index.html index.htm;
}
location /renren-fast/ {
proxy_pass http://43.139.168.162:8080/renren-fast/; #这里填写后端的接口路径
}
}
./nginx -s reload #重启
后台启动java项目
// 压缩后jar包的启动指令(推荐,单独拆分lib)
nohup java -Dloader.path="/root/lib/" -jar renren-fast.jar &
// 未压缩jar包的启动指令
nohup java -jar renren-fast.jar &
7.其他:Java调用Python技术
linux中使用定时任务用java调用python程序