1.在eureka_service项目的pom中添加代码
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<!-- 下面的是主方法类路径 --> <mainClass>com.video.vt_eureka.VtEurekaApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
2.将项目打包成jar包
3.复制target中打包的jar包到linux的/usr/local路径下
4.linux上运行 java -jar test.jar
注意:这种方式在命令窗口关闭,服务会停止
不挂断运行方法1:
nohup java -jar test.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 //当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中 , 除非另外指定了输出文件。
方法2:
nohup java -jar test.jar >temp.txt &
这种方法会把日志文件输入到你指定的文件中,没有则会自动创建
jobs命令和fg命令:
jobs
jobs会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。 $ fg 2
如系统配置过slf4j 打印配置 则不需要系统提供的默认打印,配置如下
nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &
#进程查看
ps -aux|grep java
关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海
/dev/null 表示将标准输出信息重定向到"黑洞"
2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)
启动成功,访问服务器 ip:端口
如果访问失败,可能是防火墙拦截了,关闭防火墙,
或者可以用命令让防火墙开放特定端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
firewall-cmd --reload
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效