diff --git a/broker/config/wildfirechat.conf b/broker/config/wildfirechat.conf index 136649b1..02814443 100755 --- a/broker/config/wildfirechat.conf +++ b/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 #********************************************************************* diff --git a/broker/src/main/java/io/moquette/server/Server.java b/broker/src/main/java/io/moquette/server/Server.java index 155e8fc7..9471aaa8 100755 --- a/broker/src/main/java/io/moquette/server/Server.java +++ b/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 diff --git a/distribution/pom.xml b/distribution/pom.xml index 2ef2f6e8..5b0607be 100755 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -113,7 +113,7 @@ archive perm - /usr/local/im-server + /opt/im-server @@ -150,7 +150,7 @@ im-server noarch linux - /usr/local/im-server + /opt/im-server _unpackaged_files_terminate_build 0 @@ -163,7 +163,7 @@ - /usr/local/im-server + /opt/im-server 755 @@ -186,14 +186,14 @@ - + ${project.basedir}/src/main/rpm/install.sh + utf-8 + true - + ${project.basedir}/src/main/rpm/uninstall.sh + utf-8 + true diff --git a/distribution/src/main/deb/control/postinst b/distribution/src/main/deb/control/postinst index 9b76642f..f2771e9a 100644 --- a/distribution/src/main/deb/control/postinst +++ b/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/.\/logs<\/Property>/\/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" diff --git a/distribution/src/main/deb/control/postrm b/distribution/src/main/deb/control/postrm index ac68168d..e78ebc0f 100644 --- a/distribution/src/main/deb/control/postrm +++ b/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 diff --git a/distribution/src/main/resources/wildfirechat.conf b/distribution/src/main/resources/wildfirechat.conf index 2ffa218e..ec152ff6 100755 --- a/distribution/src/main/resources/wildfirechat.conf +++ b/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 #********************************************************************* diff --git a/distribution/src/main/rpm/install.sh b/distribution/src/main/rpm/install.sh new file mode 100644 index 00000000..788c147a --- /dev/null +++ b/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/.\/logs<\/Property>/\/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" diff --git a/distribution/src/main/rpm/uninstall.sh b/distribution/src/main/rpm/uninstall.sh new file mode 100644 index 00000000..e78ebc0f --- /dev/null +++ b/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 + diff --git a/distribution/src/main/scripts/wildfirechat.bat b/distribution/src/main/scripts/wildfirechat.bat index 832c45a5..fdd6e707 100644 --- a/distribution/src/main/scripts/wildfirechat.bat +++ b/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 diff --git a/distribution/src/main/scripts/wildfirechat.sh b/distribution/src/main/scripts/wildfirechat.sh index bfef02f8..d84cf2cb 100755 --- a/distribution/src/main/scripts/wildfirechat.sh +++ b/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 diff --git a/systemd/README.md b/systemd/README.md index 12a69741..b200a98d 100644 --- a/systemd/README.md +++ b/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``` -## 日志 -日志文件在```/usr/local/im-server/logs```目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(```journalctl -f -u im-server.service```)一起发给野火。 - -也可以把日志放到```/var/log/im-server```目录下,可以修改```/usr/local/im-server/config/log4j2.xml```修改日志的路径。 +## 修改服务内存大小 +修改```/opt/im-server/bin/wildfirechat.sh```文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。 ## 配置 -需要对IM服务配置来达到最好的执行效果,配置文件在````/usr/local/im-server/config````目录下。另外还可以设置服务的内存大小,修改```/usr/local/im-server/bin/wildfirechat.sh```文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。 +需要对IM服务配置来达到最好的执行效果,手动部署配置文件在````/opt/im-server/config````目录下,安装部署的配置文件在````/etc/im-server/config````目录下。 + +## 日志 +手动部署的日志文件在```/opt/im-server/logs```目录下,安装部署的日志在```/var/log/im-server```目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(```journalctl -f -u im-server```)一起发给野火。 + +手动部署也可以修改目录,可以修改配置文件目录下的```config/log4j2.xml```修改日志的路径。 + diff --git a/systemd/im-server.service b/systemd/im-server.service index 5ea0aaf5..2cdeec8b 100644 --- a/systemd/im-server.service +++ b/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