ソースを参照

优化野火IM服务安装目录

heavyrian2012 3 年 前
コミット
acd21faa9c

+ 0 - 5
broker/config/wildfirechat.conf

@@ -187,11 +187,6 @@ http.channel.rate_limit 1000
 ##客户端请求频率限制,默认是5秒100次。通常情况下不要修改这个值。
 client.request_rate_limit 100
 
-#*********************************************************************
-# hazelcase configuration
-#*********************************************************************
-hazelcast.configuration config/hazelcast.xml
-
 #*********************************************************************
 # Media server configuration
 #*********************************************************************

+ 1 - 1
broker/src/main/java/io/moquette/server/Server.java

@@ -378,7 +378,7 @@ public class Server {
         LOG.info("Configuring embedded Hazelcast instance");
 
         serverIp = getServerIp(config);
-        String hzConfigPath = "config/hazelcast.xml";
+        String hzConfigPath = System.getProperty("hazelcast.configuration", "config/hazelcast.xml");
         if (hzConfigPath != null) {
             boolean isHzConfigOnClasspath = this.getClass().getClassLoader().getResource(hzConfigPath) != null;
             Config hzconfig = isHzConfigOnClasspath

+ 9 - 9
distribution/pom.xml

@@ -113,7 +113,7 @@
                                     <type>archive</type>
                                     <mapper>
                                         <type>perm</type>
-                                        <prefix>/usr/local/im-server</prefix>
+                                        <prefix>/opt/im-server</prefix>
                                     </mapper>
                                 </data>
                                 <data>
@@ -150,7 +150,7 @@
                     <name>im-server</name>
                     <needarch>noarch</needarch>
                     <targetOS>linux</targetOS>
-                    <prefix>/usr/local/im-server</prefix>
+                    <prefix>/opt/im-server</prefix>
                     <defineStatements>
                         <defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
                     </defineStatements>
@@ -163,7 +163,7 @@
 
                     <mappings>
                         <mapping>
-                            <directory>/usr/local/im-server</directory>
+                            <directory>/opt/im-server</directory>
                             <filemode>755</filemode>
                             <sources>
                                 <source>
@@ -186,14 +186,14 @@
                         </mapping>
                     </mappings>
                     <postinstallScriptlet>
-                        <script>
-                            echo "Unzip packages..." ; cd /usr/local/im-server ; tar -xzvf distribution*.tar.gz ; echo "Im server installed in /usr/local/im-server" ; systemctl daemon-reload
-                        </script>
+                        <scriptFile>${project.basedir}/src/main/rpm/install.sh</scriptFile>
+                        <fileEncoding>utf-8</fileEncoding>
+                        <filter>true</filter>
                     </postinstallScriptlet>
                     <postremoveScriptlet>
-                        <script>
-                            echo "Remove files..." ; cd /usr/local/im-server ; rm -rf * ; rm -rf /usr/lib/systemd/system/im-server.service ; systemctl daemon-reload
-                        </script>
+                        <scriptFile>${project.basedir}/src/main/rpm/uninstall.sh</scriptFile>
+                        <fileEncoding>utf-8</fileEncoding>
+                        <filter>true</filter>
                     </postremoveScriptlet>
                 </configuration>
             </plugin>

+ 17 - 0
distribution/src/main/deb/control/postinst

@@ -1 +1,18 @@
+set -e
+sed -i 's/h2db.path .\/h2db\/wfchat/h2db.path \/var\/lib\/im-server\/h2db\/imdb/' /opt/im-server/config/wildfirechat.conf
+sed -i 's/local.media.storage.root .\/media/local.media.storage.root \/var\/lib\/im-server\/media/' /opt/im-server/config/wildfirechat.conf
+sed -i 's/<Property name="MSG_LOG_HOME">.\/logs<\/Property>/<Property name="MSG_LOG_HOME">\/var\/log\/im-server<\/Property>/' /opt/im-server/config/log4j2.xml
+sed -i 's/WILDFIRECHAT_CONFIG_PATH=$WILDFIRECHAT_HOME/WILDFIRECHAT_CONFIG_PATH=\/etc\/im-server/' /opt/im-server/bin/wildfirechat.sh
+
+if [ ! -d /etc/im-server ]; then
+mkdir /etc/im-server
+fi
+
+mv -f  /opt/im-server/config /etc/im-server
 systemctl daemon-reload
+echo "IM server folders:"
+echo "/etc/im-server/config     config"
+echo "/opt/im-server            binary files"
+echo "/var/log/im-server        logs"
+echo "/var/lib/im-server/h2db   embed db"
+echo "/var/lib/im-server/media  embed media files"

+ 13 - 1
distribution/src/main/deb/control/postrm

@@ -1,4 +1,16 @@
-rm -rf /usr/local/im-server
+set -e
+rm -rf /opt/im-server
+rm -rf /etc/im-server
+rm -rf /var/log/im-server
 rm -rf /usr/lib/systemd/system/im-server.service
+
+if [ -d /var/lib/im-server/h2db ]; then
+echo "IM embed db file not deleted in path /var/lib/im-server/h2db, if you don't need it anymore, please remove it manually"
+fi
+
+if [ -d /var/lib/im-server/media ]; then
+echo "IM embed media files not deleted in path /var/lib/im-server/media, if you don't need it anymore, please remove it manually"
+fi
+
 systemctl daemon-reload
 

+ 0 - 5
distribution/src/main/resources/wildfirechat.conf

@@ -182,11 +182,6 @@ http.channel.rate_limit 1000
 ##客户端请求频率限制,默认是5秒100次。通常情况下不要修改这个值。
 client.request_rate_limit 100
 
-#*********************************************************************
-# hazelcase configuration
-#*********************************************************************
-hazelcast.configuration config/hazelcast.xml
-
 #*********************************************************************
 # Media server configuration
 #*********************************************************************

+ 23 - 0
distribution/src/main/rpm/install.sh

@@ -0,0 +1,23 @@
+set -e
+
+cd /opt/im-server
+tar -xzvf distribution*.tar.gz
+
+sed -i 's/h2db.path .\/h2db\/wfchat/h2db.path \/var\/lib\/im-server\/h2db\/imdb/' /opt/im-server/config/wildfirechat.conf
+sed -i 's/local.media.storage.root .\/media/local.media.storage.root \/var\/lib\/im-server\/media/' /opt/im-server/config/wildfirechat.conf
+sed -i 's/<Property name="MSG_LOG_HOME">.\/logs<\/Property>/<Property name="MSG_LOG_HOME">\/var\/log\/im-server<\/Property>/' /opt/im-server/config/log4j2.xml
+sed -i 's/WILDFIRECHAT_CONFIG_PATH=$WILDFIRECHAT_HOME/WILDFIRECHAT_CONFIG_PATH=\/etc\/im-server/' /opt/im-server/bin/wildfirechat.sh
+
+if [ ! -d /etc/im-server ]; then
+mkdir /etc/im-server
+fi
+
+mv -f  /opt/im-server/config /etc/im-server
+systemctl daemon-reload
+
+echo "IM server folders:"
+echo "/etc/im-server/config     config"
+echo "/opt/im-server            binary files"
+echo "/var/log/im-server        logs"
+echo "/var/lib/im-server/h2db   embed db"
+echo "/var/lib/im-server/media  embed media files"

+ 16 - 0
distribution/src/main/rpm/uninstall.sh

@@ -0,0 +1,16 @@
+set -e
+rm -rf /opt/im-server
+rm -rf /etc/im-server
+rm -rf /var/log/im-server
+rm -rf /usr/lib/systemd/system/im-server.service
+
+if [ -d /var/lib/im-server/h2db ]; then
+echo "IM embed db file not deleted in path /var/lib/im-server/h2db, if you don't need it anymore, please remove it manually"
+fi
+
+if [ -d /var/lib/im-server/media ]; then
+echo "IM embed media files not deleted in path /var/lib/im-server/media, if you don't need it anymore, please remove it manually"
+fi
+
+systemctl daemon-reload
+

+ 82 - 82
distribution/src/main/scripts/wildfirechat.bat

@@ -1,82 +1,82 @@
-@ECHO OFF
-
-set "CURRENT_DIR=%cd%"
-set "WILDFIRECHAT_HOME=%CURRENT_DIR%"
-if exist "%WILDFIRECHAT_HOME%\bin\wildfirechat.bat" goto okHome
-cd ..
-set "WILDFIRECHAT_HOME=%cd%"
-set "CURRENT_DIR=%cd%"
-:gotHome
-if exist "%WILDFIRECHAT_HOME%\bin\wildfirechat.bat" goto okHome
-    echo The WILDFIRECHAT_HOME environment variable is not defined correctly
-    echo This environment variable is needed to run this program
-goto end
-:okHome
-
-rem Set JavaHome if it exists
-if exist { "%JAVA_HOME%\bin\java" } (
-    set "JAVA="%JAVA_HOME%\bin\java""
-) else {
-    set "JAVA="java""
-}
-
-echo Using JAVA_HOME:       "%JAVA_HOME%"
-echo Using WILDFIRECHAT_HOME:   "%WILDFIRECHAT_HOME%"
-
-rem  set LOG_CONSOLE_LEVEL=info
-rem  set LOG_FILE_LEVEL=fine
-set JAVA_OPTS=
-set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true
-set WILDFIRECHAT_PATH=%WILDFIRECHAT_HOME%
-set LOG_FILE=%WILDFIRECHAT_HOME%\config\log4j2.xml
-set HZ_CONF_FILE=%WILDFIRECHAT_HOME%\config\hazelcast.xml
-set C3P0_CONF_FILE=%WILDFIRECHAT_HOME%\config\c3p0-config.xml
-
-rem Use the Hotspot garbage-first collector.
-set JAVA_OPTS=%JAVA_OPTS%  -XX:+UseG1GC
-
-rem Have the JVM do less remembered set work during STW, instead
-rem preferring concurrent GC. Reduces p99.9 latency.
-set JAVA_OPTS=%JAVA_OPTS%  -XX:G1RSetUpdatingPauseTimePercent=5
-
-rem Main G1GC tunable: lowering the pause target will lower throughput and vise versa.
-rem 200ms is the JVM default and lowest viable setting
-rem 1000ms increases throughput. Keep it smaller than the timeouts.
-set JAVA_OPTS=%JAVA_OPTS%  -XX:MaxGCPauseMillis=500
-
-rem Optional G1 Settings
-
-rem  Save CPU time on large (>= 16GB) heaps by delaying region scanning
-rem  until the heap is 70% full. The default in Hotspot 8u40 is 40%.
-rem set JAVA_OPTS=%JAVA_OPTS%  -XX:InitiatingHeapOccupancyPercent=70
-
-rem  For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores.
-rem  Otherwise equal to the number of cores when 8 or less.
-rem  Machines with > 10 cores should try setting these to <= full cores.
-rem set JAVA_OPTS=%JAVA_OPTS%  -XX:ParallelGCThreads=16
-
-rem  By default, ConcGCThreads is 1/4 of ParallelGCThreads.
-rem  Setting both to the same value can reduce STW durations.
-rem set JAVA_OPTS=%JAVA_OPTS%  -XX:ConcGCThreads=16
-
-rem rem GC logging options -- uncomment to enable
-
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDateStamps
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintHeapAtGC
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintPromotionFailure
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:PrintFLSStatistics=1
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:+UseGCLogFileRotation
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:NumberOfGCLogFiles=10
-rem set JAVA_OPTS=%JAVA_OPTS% -XX:GCLogFileSize=10M"
-
-echo
-echo 请设置JVM参数Xmx和Xms!!!
-echo
-
-rem set JAVA_OPTS=%JAVA_OPTS% -Xmx2G
-rem set JAVA_OPTS=%JAVA_OPTS% -Xms2G
-
-%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configurationFile=%LOG_FILE% -Dcom.mchange.v2.c3p0.cfg.xml=%C3P0_CONF_FILE% -Dhazelcast.configuration=file:%HZ_CONF_FILE% -Dwildfirechat.path=%WILDFIRECHAT_PATH% -cp %WILDFIRECHAT_HOME%\lib\* cn.wildfirechat.server.Server
+@ECHO OFF
+
+set "CURRENT_DIR=%cd%"
+set "WILDFIRECHAT_HOME=%CURRENT_DIR%"
+if exist "%WILDFIRECHAT_HOME%\bin\wildfirechat.bat" goto okHome
+cd ..
+set "WILDFIRECHAT_HOME=%cd%"
+set "CURRENT_DIR=%cd%"
+:gotHome
+if exist "%WILDFIRECHAT_HOME%\bin\wildfirechat.bat" goto okHome
+    echo The WILDFIRECHAT_HOME environment variable is not defined correctly
+    echo This environment variable is needed to run this program
+goto end
+:okHome
+
+rem Set JavaHome if it exists
+if exist { "%JAVA_HOME%\bin\java" } (
+    set "JAVA="%JAVA_HOME%\bin\java""
+) else {
+    set "JAVA="java""
+}
+
+echo Using JAVA_HOME:       "%JAVA_HOME%"
+echo Using WILDFIRECHAT_HOME:   "%WILDFIRECHAT_HOME%"
+
+rem  set LOG_CONSOLE_LEVEL=info
+rem  set LOG_FILE_LEVEL=fine
+set JAVA_OPTS=
+set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true
+set WILDFIRECHAT_PATH=%WILDFIRECHAT_HOME%
+set LOG_FILE=%WILDFIRECHAT_HOME%\config\log4j2.xml
+set HZ_CONF_FILE=%WILDFIRECHAT_HOME%\config\hazelcast.xml
+set C3P0_CONF_FILE=%WILDFIRECHAT_HOME%\config\c3p0-config.xml
+
+rem Use the Hotspot garbage-first collector.
+set JAVA_OPTS=%JAVA_OPTS%  -XX:+UseG1GC
+
+rem Have the JVM do less remembered set work during STW, instead
+rem preferring concurrent GC. Reduces p99.9 latency.
+set JAVA_OPTS=%JAVA_OPTS%  -XX:G1RSetUpdatingPauseTimePercent=5
+
+rem Main G1GC tunable: lowering the pause target will lower throughput and vise versa.
+rem 200ms is the JVM default and lowest viable setting
+rem 1000ms increases throughput. Keep it smaller than the timeouts.
+set JAVA_OPTS=%JAVA_OPTS%  -XX:MaxGCPauseMillis=500
+
+rem Optional G1 Settings
+
+rem  Save CPU time on large (>= 16GB) heaps by delaying region scanning
+rem  until the heap is 70% full. The default in Hotspot 8u40 is 40%.
+rem set JAVA_OPTS=%JAVA_OPTS%  -XX:InitiatingHeapOccupancyPercent=70
+
+rem  For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores.
+rem  Otherwise equal to the number of cores when 8 or less.
+rem  Machines with > 10 cores should try setting these to <= full cores.
+rem set JAVA_OPTS=%JAVA_OPTS%  -XX:ParallelGCThreads=16
+
+rem  By default, ConcGCThreads is 1/4 of ParallelGCThreads.
+rem  Setting both to the same value can reduce STW durations.
+rem set JAVA_OPTS=%JAVA_OPTS%  -XX:ConcGCThreads=16
+
+rem rem GC logging options -- uncomment to enable
+
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDateStamps
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintHeapAtGC
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintPromotionFailure
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:PrintFLSStatistics=1
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:+UseGCLogFileRotation
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:NumberOfGCLogFiles=10
+rem set JAVA_OPTS=%JAVA_OPTS% -XX:GCLogFileSize=10M"
+
+echo
+echo 请设置JVM参数Xmx和Xms!!!
+echo
+
+rem set JAVA_OPTS=%JAVA_OPTS% -Xmx2G
+rem set JAVA_OPTS=%JAVA_OPTS% -Xms2G
+
+%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configurationFile=%LOG_FILE% -Dcom.mchange.v2.c3p0.cfg.xml=%C3P0_CONF_FILE% -Dhazelcast.configuration=%HZ_CONF_FILE% -Dwildfirechat.path=%WILDFIRECHAT_PATH% -cp %WILDFIRECHAT_HOME%\lib\* cn.wildfirechat.server.Server

+ 7 - 5
distribution/src/main/scripts/wildfirechat.sh

@@ -34,11 +34,13 @@ else
 fi
 export JAVA
 
-LOG_FILE=$WILDFIRECHAT_HOME/config/log4j2.xml
-HZ_CONF_FILE=$WILDFIRECHAT_HOME/config/hazelcast.xml
-C3P0_CONF_FILE=$WILDFIRECHAT_HOME/config/c3p0-config.xml
+WILDFIRECHAT_CONFIG_PATH=$WILDFIRECHAT_HOME
+
+LOG_FILE=$WILDFIRECHAT_CONFIG_PATH/config/log4j2.xml
+HZ_CONF_FILE=$WILDFIRECHAT_CONFIG_PATH/config/hazelcast.xml
+C3P0_CONF_FILE=$WILDFIRECHAT_CONFIG_PATH/config/c3p0-config.xml
+
 
-WILDFIRECHAT_PATH=$WILDFIRECHAT_HOME/
 #LOG_CONSOLE_LEVEL=info
 #LOG_FILE_LEVEL=fine
 JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true"
@@ -91,4 +93,4 @@ echo ""
 #JAVA_OPTS="$JAVA_OPTS -Xms2G"
 
 
-$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configurationFile="file:$LOG_FILE" -Dlog4j2.formatMsgNoLookups=true -Dcom.mchange.v2.c3p0.cfg.xml="$C3P0_CONF_FILE" -Dhazelcast.configuration="file:$HZ_CONF_FILE" -Dwildfirechat.path="$WILDFIRECHAT_PATH" -cp "$WILDFIRECHAT_HOME/lib/*" cn.wildfirechat.server.Server
+$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configurationFile="file:$LOG_FILE" -Dlog4j2.formatMsgNoLookups=true -Dcom.mchange.v2.c3p0.cfg.xml="$C3P0_CONF_FILE" -Dhazelcast.configuration=$HZ_CONF_FILE -Dwildfirechat.path="$WILDFIRECHAT_CONFIG_PATH" -cp "$WILDFIRECHAT_HOME/lib/*" cn.wildfirechat.server.Server

+ 59 - 17
systemd/README.md

@@ -2,29 +2,71 @@
 除了命令行方式直接执行IM服务外,还可以以linux systemd service方式来运行,注意以这种方式运行,im服务的配置还是需要按照常规方法来配置。
 
 ## 获取软件包
-如果是社区版可以下载野火release或则会自己源码编译,得到软件压缩包```distribution-bundle-tar.tar.gz```。如果是专业版使用专业版邮件里的链接下载软件压缩包,下载后先解压一次,得到```distribution-bundle-tar.tar.gz```压缩包。
+如果是社区版可以下载野火release或则会自己源码编译,得到软件压缩包```distribution-bundle-tar.tar.gz```、```im-server.deb```和```im-server.rpm```。如果是专业版使用专业版邮件里的链接下载软件压缩包,下载后先解压一次,得到```distribution-bundle-tar.tar.gz```、```im-server.deb```和```im-server.rpm```。
+> ```im-server.deb```和```im-server.rpm```文件可能带有版本号,下面使用过程中,请注意修正为实际的文件名称。
 
-## 部署软件包
-创建```/usr/local/im-server```目录,把软件包解压到这个目录下。解压后这个目录下有```bin```、```config```、```lib```等目录。
-> 专业版软件包压缩了2次,先解压出```distribution-bundle-tar.tar.gz```,再拷贝到IM目录再次解压,所以注意确认目录下有bin、config等目录才对
+## 手动部署
+### 依赖
+野火IM依赖JRE1.8手动部署需要手动安装JRE1.8,确保命令:```java -version```能看到正确的java版本信息才行
 
-## 放置Server File
-把```im-server.service```放到```/usr/lib/systemd/system/```目录下。
+### 部署软件包
+创建```/opt/im-server```目录,把软件包```distribution-bundle-tar.tar.gz```解压到这个目录下。解压后这个目录下有```bin```、```config```、```lib```、```systemd```等目录。
+
+### 放置systemd server file
+把```systemd```目录下的```im-server.service```文件放到```/usr/lib/systemd/system/```目录下。然后执行命令```sudo systemctl daemon-reload```。
+
+### 目录结构
+所有目录都在```/opt/im-server```目录下。包括日志目录、配置目录等。
+
+### 测试
+根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 ```curl -v http://127.0.0.1/api/version``` 能够返回版本的JSON信息。
+
+## 安装部署
+### 依赖
+安装包安装将会自动安装依赖,不需要手动安装java。如果服务器上有其他版本的Java,请注意可能的冲突问题。
+
+### 部署软件包
+可以直接安装```deb```和```rpm```格式的安装包,在debian系的linux系统(Ubuntu等使用```apt```命令安装软件的系统)中,使用命令:
+```shell
+sudo apt install ./im-server.deb
+```
+
+在红帽系的linux系统(Centos等使用```yum```命令安装软件的系统)中,使用命令:
+```shell
+sudo yum install ./im-server.rpm
+```
+
+注意在上述两个命令中,都使用的是本地安装,注意安装包名前的```./```路径。如果使用```dpkg -i ./im-server.deb```命令将不会安装依赖。 
+
+### 目录结构
+* /etc/im-server/config     配置文件目录
+* /opt/im-server            程序目录
+* /var/log/im-server        日志目录
+* /var/lib/im-server/h2db   H2数据库目录,如果使用mysql则不会使用
+* /var/lib/im-server/media  内置对象存储数据目录,如果使用非内置,则目录不会使用。
+
+
+### 测试
+根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 ```curl -v http://127.0.0.1/api/version``` 能够返回版本的JSON信息。
 
 ## 管理服务
 * 刷新配置,当安装或者更新后需要执行: ```sudo systemctl daemon-reload```
-* 启动服务: ```sudo systemctl start im-server.service```
-* 停止服务: ```sudo systemctl stop im-server.service```
-* 重启服务: ```sudo systemctl restart im-server.service```
-* 查看服务状态:```sudo systemctl status im-server.service```
-* 设置开机自启动:```sudo systemctl enable im-server.service```
-* 禁止开机自启动:```sudo systemctl disable im-server.service```
-* 查看控制台日志: ```journalctl -f -u im-server.service```
+* 启动服务: ```sudo systemctl start im-server```
+* 停止服务: ```sudo systemctl stop im-server```
+* 重启服务: ```sudo systemctl restart im-server```
+* 查看服务状态:```sudo systemctl status im-server```
+* 设置开机自启动:```sudo systemctl enable im-server```
+* 禁止开机自启动:```sudo systemctl disable im-server```
+* 查看控制台日志: ```journalctl -f -u im-server```
+
+## 修改服务内存大小
+修改```/opt/im-server/bin/wildfirechat.sh```文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。
+
+## 配置
+需要对IM服务配置来达到最好的执行效果,手动部署配置文件在````/opt/im-server/config````目录下,安装部署的配置文件在````/etc/im-server/config````目录下。
 
 ## 日志
-日志文件在```/usr/local/im-server/logs```目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(```journalctl -f -u im-server.service```)一起发给野火。
+手动部署的日志文件在```/opt/im-server/logs```目录下,安装部署的日志在```/var/log/im-server```目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(```journalctl -f -u im-server```)一起发给野火。
 
-也可以把日志放到```/var/log/im-server```目录下,可以修改```/usr/local/im-server/config/log4j2.xml```修改日志的路径。
+手动部署也可以修改目录,可以修改配置文件目录下的```config/log4j2.xml```修改日志的路径。
 
-## 配置
-需要对IM服务配置来达到最好的执行效果,配置文件在````/usr/local/im-server/config````目录下。另外还可以设置服务的内存大小,修改```/usr/local/im-server/bin/wildfirechat.sh```文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。

+ 2 - 2
systemd/im-server.service

@@ -1,11 +1,11 @@
 [Unit]
-Description=WildfirechatIM
+Description=IM Server
 Documentation=https://docs.wildfirechat.cn
 Wants=network-online.target
 After=network-online.target
 
 [Service]
-WorkingDirectory=/usr/local/im-server
+WorkingDirectory=/opt/im-server
 ExecStart=/bin/sh bin/wildfirechat.sh 2>&1
 
 # Let systemd restart this service always