Browse Source

优化服务路径

heavyrian2012 3 years ago
parent
commit
fd6ecbf699
6 changed files with 53 additions and 24 deletions
  1. 1 1
      config/application.properties
  2. 1 1
      deb/control/postinst
  3. 1 1
      deb/control/postrm
  4. 7 7
      pom.xml
  5. 41 13
      systemd/README.md
  6. 2 1
      systemd/app-server.service

+ 1 - 1
config/application.properties

@@ -8,7 +8,7 @@ sms.super_code=66666
 
 # h2适合开发使用,上线时请切换到mysql。切换时把下面h2部分配置注释掉,打开mysql部署配置。
 ##*********************** h2 DB begin ***************************
-spring.datasource.url=jdbc:h2:file:./h2db/appdata
+spring.datasource.url=jdbc:h2:file:./appdata
 spring.datasource.username=sa
 spring.datasource.password=
 spring.datasource.driver-class-name=org.h2.Driver

+ 1 - 1
deb/control/postinst

@@ -1,2 +1,2 @@
-mv -f /usr/local/app-server/app-*.jar /usr/local/app-server/app-server.jar
+mv -f /opt/app-server/app-*.jar /opt/app-server/app-server.jar
 systemctl daemon-reload

+ 1 - 1
deb/control/postrm

@@ -1,3 +1,3 @@
-rm -rf /usr/local/app-server
+rm -rf /opt/app-server
 rm -rf /usr/lib/systemd/system/app-server.service
 systemctl daemon-reload

+ 7 - 7
pom.xml

@@ -254,7 +254,7 @@
 									<type>file</type>
 									<mapper>
 										<type>perm</type>
-										<prefix>/usr/local/app-server</prefix>
+										<prefix>/opt/app-server</prefix>
 									</mapper>
 								</data>
 								<data>
@@ -262,7 +262,7 @@
 									<type>directory</type>
 									<mapper>
 										<type>perm</type>
-										<prefix>/usr/local/app-server/config</prefix>
+										<prefix>/opt/app-server/config</prefix>
 									</mapper>
 								</data>
 								<data>
@@ -299,7 +299,7 @@
 					<name>app-server</name>
 					<needarch>noarch</needarch>
 					<targetOS>linux</targetOS>
-					<prefix>/usr/local/app-server</prefix>
+					<prefix>/opt/app-server</prefix>
 					<defineStatements>
 						<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
 					</defineStatements>
@@ -312,7 +312,7 @@
 
 					<mappings>
 						<mapping>
-							<directory>/usr/local/app-server</directory>
+							<directory>/opt/app-server</directory>
 							<filemode>755</filemode>
 							<sources>
 								<source>
@@ -321,7 +321,7 @@
 							</sources>
 						</mapping>
 						<mapping>
-							<directory>/usr/local/app-server/config</directory>
+							<directory>/opt/app-server/config</directory>
 							<filemode>755</filemode>
 							<sources>
 								<source>
@@ -345,12 +345,12 @@
 					</mappings>
 					<postinstallScriptlet>
 						<script>
-							mv -f /usr/local/app-server/app-*.jar /usr/local/app-server/app-server.jar ; echo "Im server installed in /usr/local/app-server" ; systemctl daemon-reload
+							mv -f /opt/app-server/app-*.jar /opt/app-server/app-server.jar ; echo "Im server installed in /opt/app-server" ; systemctl daemon-reload
 						</script>
 					</postinstallScriptlet>
 					<postremoveScriptlet>
 						<script>
-							echo "Remove files..." ; cd /usr/local/app-server ; rm -rf * ; rm -rf /usr/lib/systemd/system/app-server.service ; systemctl daemon-reload
+							echo "Remove files..." ; cd /opt/app-server ; rm -rf * ; rm -rf /usr/lib/systemd/system/app-server.service ; systemctl daemon-reload
 						</script>
 					</postremoveScriptlet>
 				</configuration>

+ 41 - 13
systemd/README.md

@@ -2,26 +2,54 @@
 除了命令行方式直接执行APP服务外,还可以以linux systemd service方式来运行,注意以这种方式运行,APP服务的配置还是需要按照常规方法来配置。
 
 ## 获取软件包
-下载野火release或则会自己源码编译,得到Jar包```app-${version}.jar```。
+下载野火release或则会自己源码编译,得到```app-${version}.jar```、```app-${version}.deb```和```app-${version}.rpm```。
 
-## 部署软件包
-创建```/usr/local/app-server```目录,把Jar包```app-${version}.jar```改名为```app-server.jar```;把config目录也拷贝到```/usr/local/app-server```目录下。
+## 手动部署
+### 依赖
+野火IM依赖JRE1.8手动部署需要手动安装JRE1.8,确保命令:```java -version```能看到正确的java版本信息才行。
 
-## 放置Server File
+### 部署软件包
+创建```/opt/app-server```目录,把Jar包```app-${version}.jar```改名为```app-server.jar```;把config目录也拷贝到```/opt/app-server```目录下。
+
+### 放置systemd server file
 把```app-server.service```放到```/usr/lib/systemd/system/```目录下。
 
+### 测试
+根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 ```curl -v http://127.0.0.1:8888``` 能够返回字符串```Ok```。
+
+## 安装部署
+### 依赖
+安装包安装将会自动安装依赖,不需要手动安装java。如果服务器上有其他版本的Java,请注意可能的冲突问题。
+
+### 部署软件包
+可以直接安装```deb```和```rpm```格式的安装包,在debian系的linux系统(Ubuntu等使用```apt```命令安装软件的系统)中,使用命令:
+```shell
+sudo apt install ./app-server-{version}.deb
+```
+
+在红帽系的linux系统(Centos等使用```yum```命令安装软件的系统)中,使用命令:
+```shell
+sudo yum install ./app-server-${version}.deb
+```
+
+注意在上述两个命令中,都使用的是本地安装,注意安装包名前的```./```路径。如果使用```dpkg -i ./app-server-${version}.deb```命令将不会安装依赖。
+
+### 测试
+根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 ```curl -v http://127.0.0.1:8888``` 能够返回字符串```Ok```。
+
+
 ## 管理服务
 * 刷新配置,当安装或者更新后需要执行: ```sudo systemctl daemon-reload```
-* 启动服务: ```sudo systemctl start app-server.service```
-* 停止服务: ```sudo systemctl stop app-server.service```
-* 重启服务: ```sudo systemctl restart app-server.service```
-* 查看服务状态:```sudo systemctl status app-server.service```
-* 设置开机自启动:```sudo systemctl enable app-server.service```
-* 禁止开机自启动:```sudo systemctl disable app-server.service```
-* 查看控制台日志: ```journalctl -f -u app-server.service```
+* 启动服务: ```sudo systemctl start app-server```
+* 停止服务: ```sudo systemctl stop app-server```
+* 重启服务: ```sudo systemctl restart app-server```
+* 查看服务状态:```sudo systemctl status app-server```
+* 设置开机自启动:```sudo systemctl enable app-server```
+* 禁止开机自启动:```sudo systemctl disable app-server```
+* 查看控制台日志: ```journalctl -f -u app-server```
 
 ## 日志
-日志主要看制台日志。如果需要看日志,请使用命令```journalctl -f -u app-server.service```来查看日志。
+日志主要看制台日志。如果需要看日志,请使用命令```journalctl -f -u app-server```来查看日志。
 
 ## 配置
-需要对APP服务配置来达到最好的执行效果,配置文件在````/usr/local/app-server/config````目录下。另外还可以设置服务的内存大小,修改```/usr/lib/systemd/system/app-server.service```文件,在java命令中添加```-Xmx```参数。
+需要对APP服务配置来达到最好的执行效果,配置文件在````/opt/app-server/config````目录下。另外还可以设置服务的内存大小,修改```/usr/lib/systemd/system/app-server```文件,在java命令中添加```-Xmx```参数。

+ 2 - 1
systemd/app-server.service

@@ -5,7 +5,8 @@ Wants=network-online.target
 After=network-online.target
 
 [Service]
-WorkingDirectory=/usr/local/app-server
+WorkingDirectory=/opt/app-server
+#ExecStart=/usr/bin/java -server -Xmx2G -Xms2G -jar app-server.jar 2>&1
 ExecStart=/usr/bin/java -server -jar app-server.jar 2>&1
 
 # Let systemd restart this service always