Linux Service 方式运行
除了命令行方式直接执行IM服务外,还可以以linux systemd service方式来运行,注意以这种方式运行,im服务的配置还是需要按照常规方法来配置。
1. 获取软件包
如果是社区版可以下载野火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
文件可能带有版本号,下面使用过程中,请注意修正为实际的文件名称。
2. 手动部署
2.1. 依赖
野火IM依赖JRE1.8手动部署需要手动安装JRE1.8,确保命令:java -version
能看到正确的java版本信息才行。
2.2. 部署软件包
创建/opt/im-server
目录,把软件包distribution-bundle-tar.tar.gz
解压到这个目录下。解压后这个目录下有bin
、config
、lib
、systemd
等目录。
2.3. 放置systemd server file
把systemd
目录下的im-server.service
文件放到/usr/lib/systemd/system/
目录下。然后执行命令sudo systemctl daemon-reload
。
2.4. 目录结构
所有目录都在/opt/im-server
目录下。包括日志目录、配置目录等。
2.5. 测试
根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 curl -v http://127.0.0.1/api/version
能够返回版本的JSON信息。
3. 安装部署
3.1. 依赖
安装包安装将会自动安装依赖,不需要手动安装java。如果服务器上有其他版本的Java,请注意可能的冲突问题。
3.2. 部署软件包
可以直接安装deb
和rpm
格式的安装包,在debian系的linux系统(Ubuntu等使用apt
命令安装软件的系统)中,使用命令:
sudo apt install ./im-server.deb
在红帽系的linux系统(Centos等使用yum
命令安装软件的系统)中,使用命令:
sudo yum install ./im-server.rpm
注意在上述两个命令中,都使用的是本地安装,注意安装包名前的./
路径。如果使用dpkg -i ./im-server.deb
命令将不会安装依赖。
3.3. 目录结构
- /etc/im-server/config 配置文件目录
- /opt/im-server 程序目录
- /var/log/im-server 日志目录
- /var/lib/im-server/h2db H2数据库目录,如果使用mysql或其他数据库则不会使用
- /var/lib/im-server/media 内置对象存储数据目录,如果使用非内置,则目录不会使用。
3.4. 测试
根据下面管理服务的说明,启动服务,查看控制台日志,确认启动没有异常,服务器本地执行 curl -v http://127.0.0.1/api/version
能够返回版本的JSON信息。
4. 管理服务
- 刷新配置,当安装或者更新后需要执行:
sudo systemctl daemon-reload
- 启动服务:
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
5. 修改服务内存大小
修改/opt/im-server/bin/wildfirechat.sh
文件的倒数3、4行。打开Xmx和Xms配置,设置为合适的内存大小。
6. 配置
需要对IM服务配置来达到最好的执行效果,手动部署配置文件在/opt/im-server/config
目录下,安装部署的配置文件在/etc/im-server/config
目录下。
7. 日志
手动部署的日志文件在/opt/im-server/logs
目录下,安装部署的日志在/var/log/im-server
目录下。如果需要提供日志给野火官方,请把这个目录下的日志和制台日志(journalctl -f -u im-server
)一起发给野火。
手动部署也可以修改目录,可以修改配置文件目录下的config/log4j2.xml
修改日志的路径。