diff --git a/broker/src/main/java/win/liyufan/im/DBUtil.java b/broker/src/main/java/win/liyufan/im/DBUtil.java index a0ab9fb0..4d448bed 100755 --- a/broker/src/main/java/win/liyufan/im/DBUtil.java +++ b/broker/src/main/java/win/liyufan/im/DBUtil.java @@ -24,7 +24,6 @@ import com.mchange.v2.c3p0.ComboPooledDataSource; import io.moquette.BrokerConstants; import io.moquette.server.config.IConfig; import org.flywaydb.core.Flyway; -import org.flywaydb.core.api.configuration.FlywayConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/resources/log4j2.xml b/broker/src/main/resources/log4j2.xml index db18567b..79b1a019 100755 --- a/broker/src/main/resources/log4j2.xml +++ b/broker/src/main/resources/log4j2.xml @@ -6,7 +6,6 @@ ./logs - test.log UTF-8 %d %-5p [%t] %C{2} (%F:%L) - %m%n diff --git a/distribution/src/main/assembly/assembly.xml b/distribution/src/main/assembly/assembly.xml index f72760c1..e6cfd363 100755 --- a/distribution/src/main/assembly/assembly.xml +++ b/distribution/src/main/assembly/assembly.xml @@ -29,6 +29,11 @@ src/main/resources/ config/ + + + ../systemd/ + /systemd + diff --git a/distribution/src/main/resources/log4j2.xml b/distribution/src/main/resources/log4j2.xml index 25fff54b..597a633a 100755 --- a/distribution/src/main/resources/log4j2.xml +++ b/distribution/src/main/resources/log4j2.xml @@ -6,7 +6,6 @@ ./logs - test.log UTF-8 %d %-5p [%t] %C{2} (%F:%L) - %m%n diff --git a/systemd/README.md b/systemd/README.md new file mode 100644 index 00000000..128c940c --- /dev/null +++ b/systemd/README.md @@ -0,0 +1,24 @@ +# Linux Service 方式运行 +除了命令行方式直接执行IM服务外,还可以以linux systemd service方式来运行,注意以这种方式运行,im服务的配置还是需要按照常规方法来配置。 + +## 获取软件包 +如果是社区版可以下载野火release或则会自己源码编译,得到软件压缩包```distribution-bundle-tar.tar.gz```。如果是专业版使用专业版邮件里的链接下载软件压缩包,下载后先解压一次,得到```distribution-bundle-tar.tar.gz```压缩包。 + +## 部署软件包 +创建```/usr/local/wildfirechat/im```目录,把软件包解压到这个目录下。解压后这个目录下有```bin```、```config```、```lib```等目录。 +> 专业版软件包压缩了2次,先解压出```distribution-bundle-tar.tar.gz```,再拷贝到IM目录再次解压,所以注意确认目录下有bin、config等目录才对。 + +## 放置Server File +把```wildfire-im.service```放到```/etc/systemd/system/```目录下。 + +## 管理服务 +* 启动: ```sudo systemctl start wildfire-im.service``` +* 停止: ```sudo systemctl stop wildfire-im.service``` +* 重启: ```sudo systemctl restart wildfire-im.service``` +* 查看控制台日志: ```journalctl -f -u wildfire-im.service``` + +## 日志 +日志文件在```/usr/local/wildfirechat/im/logs```目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(```journalctl -f -u wildfire-im.service```)一起发给野火。 + +## 配置 +需要对IM服务配置来达到最好的执行效果,配置文件在````/usr/local/wildfirechat/im/config````目录下。另外还可以设置服务的内存大小,修改```/usr/local/wildfirechat/im/bin/wildfirechat.sh```文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。 diff --git a/systemd/wildfire-im.service b/systemd/wildfire-im.service new file mode 100644 index 00000000..c57e3e15 --- /dev/null +++ b/systemd/wildfire-im.service @@ -0,0 +1,29 @@ +[Unit] +Description=WildfirechatIM +Documentation=https://docs.wildfirechat.cn +Wants=network-online.target +After=network-online.target + +[Service] +WorkingDirectory=/usr/local/wildfirechat/im + +ProtectProc=invisible + +ExecStart=/bin/sh bin/wildfirechat.sh 2>&1 + +# Let systemd restart this service always +Restart=always +RestartSec=5 + +# Specifies the maximum file descriptor number that can be opened by this process +LimitNOFILE=65536 + +# Specifies the maximum number of threads this process can create +TasksMax=infinity + +# Disable timeout logic and wait until process is stopped +TimeoutStopSec=infinity +SendSIGKILL=no + +[Install] +WantedBy=multi-user.target