从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目

1.打包Vue前端项目

使用npm run build命令打包前端项目

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第1张图片前端项目会

打包到dist文件夹中

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第2张图片

2.打包SpringBoot后端项目

点击生命周期的package命令,对后端项目进行打包

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第3张图片

target目录下的renren-fast.jar就是刚刚打包的后端项目

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第4张图片
后端打包项目有一个小技巧,就是打包项目时排除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端口,需要的再开放

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第5张图片

在系统运行稳定后,可以生成快照,系统出错后可以回滚

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第6张图片

4.本地安装XShell、Xftp,并上传前后端项目到服务器

单独拆分lib:上传dist,lib,renren-fast.jar(推荐)
不单独拆分lib:上传dist,renren-fast.jar
从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目_第7张图片

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程序

你可能感兴趣的:(从0到1学java,linux,spring,boot,vue.js)