Centos 7 redis、tomcat、Spring Boot添加開機自啟服務
一、redis添加開機自啟
1、添加服務配置文件
[root@test system]# vim /etc/systemd/system/redis-server.service
2、服務配置文件內容(前面紅色字體是啟動腳本,后面紅色字體是配置文件);注意?? 服務文件路徑要寫絕對路徑
[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/bin/redis-server /etc/redis.conf
PrivateTmp=true [Install]
WantedBy=multi-user.target
3、重新加載服務的配置文件
[root@test system]# systemctl daemon-reload
4、啟動redis服務
[root@test system]# systemctl start redis-server.service
5、設置開機自啟
[root@test system]# systemctl enable redis-server.service
6、查看redis服務運行狀態
[root@test system]# systemctl status redis-server.service
● redis-server.service - redis-server Loaded: loaded (/etc/systemd/system/redis-server.service; enabled; vendor preset: disabled) Active: active (running) since 五 2020-09-18 19:03:45 CST; 1h 53min ago Process: 899 ExecStart=/usr/local/bin/redis-server /etc/redis.conf (code=exited, status=0/SUCCESS) Main PID: 917 (redis-server) CGroup: /system.slice/redis-server.service └─917 /usr/local/bin/redis-server *:6379 9月 18 19:03:45 zx-001 systemd[1]: Starting redis-server... 9月 18 19:03:45 zx-001 systemd[1]: Started redis-server.
二、Tomcat添加開機自啟
1、添加服務配置文件
[root@test system]# vim /etc/systemd/system/tomcat-server.service
2、配置服務文件內容
[Unit] Description=tomcat After=network.target [Service] Type=forking ExecStart=/www/server/tomcat/bin/startup.sh ExecStop=/www/server/tomcat/bin/shutdown.sh ExecReload=/bin/kill -s HUP $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target
3、重新加載服務的配置文件
[root@test system]# systemctl daemon-reload
4、啟動tomcat服務
[root@test system]# systemctl start tomcat-server.service
5、設置開機自啟
[root@001 system]# systemctl enable tomcat-server.service
6、查看tomcat服務狀態
[root@test system]# systemctl status redis-server.service
- 有時候可能報錯錯誤“Neither the JAVA_HOME nor the JRE_HOME environment variable is defined”
- 原因服務啟動沒有狀態jdk環境變量配置,有可能你沒有在/etc/profile中配置,
- 如果配置還是不起作用可以在tomcat/bin/下找到setclasspath.sh腳本在頭部添加兩行信息即可解決
-
export JAVA_HOME=/opt/jdk1.8.0_102/ export JRE_HOME=/opt/jdk1.8.0_102/jre/
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk/ JAVA_JRE=/usr/lib/jvm/java-1.8.0-openjdk/jre/ PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME CLASSPATH PATH
● tomcat-server.service - Internet of things platform Loaded: loaded (/etc/systemd/system/tomcat-server.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 五 2020-09-18 16:29:26 CST; 22s ago Process: 14373 ExecStart=/www/server/tomcat/bin/startup.sh (code=exited, status=1/FAILURE) 9月 18 16:29:26 test systemd[1]: Starting Internet of things platform... 9月 18 16:29:26 test startup.sh[14373]: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 9月 18 16:29:26 test startup.sh[14373]: At least one of these environment variable is needed to run this program 9月 18 16:29:26 test systemd[1]: tomcat-server.service: control process exited, code=exited status=1 9月 18 16:29:26 test systemd[1]: Failed to start Internet of things platform. 9月 18 16:29:26 test systemd[1]: Unit tomcat-server.service entered failed state. 9月 18 16:29:26 test systemd[1]: tomcat-server.service failed.
三、SpringBoot添加開機自啟
1、添加服務配置文件
[root@test system]# vim /etc/systemd/system/spring-boot-server.service
2、服務配置文件內容
[Unit]
Description=SpringBoot
After=network.target mariadb.target
[Service]
Type=forking
ExecStart=/usr/bin/java -jar /spring/spring-boot.jar
ExecReload=/usr/bin/ps -ef | grep spring-boot.jar | grep -v grep | awk '{print $2}' | xargs kill -9 && java -jar/spring/spring-boot.jar
ExecStop=/usr/bin/ps -ef | grep spring-boot.jar | grep -v grep | awk '{print $2}' | xargs kill -9
Restart=always
[Install]
WantedBy=multi-user.target
3、重新加載服務的配置文件
[root@test system]# systemctl daemon-reload
4、啟動SprinBoot服務
[root@test system]# systemctl start spring-boot-server.service
5、設置開機自啟
[root@test system]# systemctl enable spring-boot-server.service
6、查看SprinBoot服務運行狀態
[root@test system]# systemctl status spring-boot-server.service
● spring-boot-server.service - SpringBoot
Loaded: loaded (/etc/systemd/system/spring-boot-server.service; enabled; vendor preset: disabled)
Active: activating (start) since 五 2020-09-18 21:45:16 CST; 37s ago
Control: 19563 (java)
CGroup: /system.slice/spring-boot-server.service
└─19563 /usr/bin/java -jar /spring/spring-boot.jar
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:522|INFO |main|springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator| Generating uniqu...geUsingGET_9
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:522|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Adding return paramete...mmon/Result;
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Reading parameters mod...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Finished reading param...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.swagger.readers.operation.SwaggerOperationModelsProvider| Reading parameters...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.scanners.ApiModelReader| Generated parameter model id: Result, na...a: {} models
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.scanners.ApiModelReader| Adding a new model with key Result
9月 18 21:45:53 iZwz9busydk4rcachg5ykzZ java[19563]: 2020-09-18 21:45:53:650|DEBUG|DefaultQuartzScheduler_QuartzSchedulerThread|org.quartz.core.QuartzSchedulerThread| batch acquisition of 1 triggers
9月 18 21:45:53 test java[19563]: 2020-09-18 21:45:53:667|DEBUG|quartzScheduler_QuartzSchedulerThread|org.quartz.core.QuartzSchedulerThread| batch acquisition of 0 triggers
Hint: Some lines were ellipsized, use -l to show in full.
補充服務配置文件
Description:描述服務 After:描述服務類別 [Service]服務運行參數的設置 Type=forking是后臺運行的形式 ExecStart為服務的具體運行命令 ExecReload為重啟命令 ExecStop為停止命令 PrivateTmp=True表示給服務分配獨立的臨時空間 注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑 [Install]運行級別下服務安裝的相關設置,可設置為多用戶,即系統運行級別為3
哇!又賺了一天人民幣

浙公網安備 33010602011771號