前言
之前测试时web服务的后台启动一直在用原始的 nohup ... & 方式。
Ubuntu 16.04 用 systemd 命令来管理系统服务,记录一下用systemd启动swift webserver的配置方式。
编译
编译release版本
cd /opt/WebServer/
swift build --configuration release
部署
部署webserver二进制文件
mkdir -p /opt/bin/
cp /opt/WebServer/.build/release/WebServer /opt/bin/
部署webserver所依赖的so
mkdir -p /opt/lib/
cp /opt/WebServer/.build/release/*.so /opt/lib/
so依赖库配置
创建加载so的配置文件
vi /etc/ld.so.conf.d/webserver.conf
# webserver default configuration
/opt/lib
加载配置文件(/etc/ld.so.conf.d/webserver.conf)
ldconfig
查看是否加载成功
ldconfig -p |grep libLinuxBridge.so
启动
创建服务启动配置文件
vi /etc/systemd/system/webserver.service
[Unit]
Description=Swift Web Server
[Service]
Type=simple
ExecStart= /opt/bin/WebServer
Restart=always
PIDFile=/var/run/webserver.pid
[Install]
WantedBy=multi-user.target
激活服务
sudo systemctl enable webserver.service
启动服务
sudo systemctl start webserver.service
检查服务是否启动成功
netstat -tnlp |grep WebServer