3 部署服务
1、拷贝文件
在服务器建立一个目录,规划所有服务将运行在/data/service目录下,聊天室可以新建目录charservice
通过ssh连接到服务器,先跳转到根目录,执行
mkdir data
cd data
mkdir service
# 提升目录权限,否则会报Permission denied
chmod 777 service
cd service开发机另起一个终端,执行scp命令将ChatService文件拷贝到服务端的/data/service 目录下
scp /users/用户名/ChatService root@192.168.0.120:/data/service根据提示输入密码
ChatService 100% 2104KB 7.2MB/s 00:00在ssh连接的终端上执行ls命令,查看文件
[root@rocky service]# ls
ChatService新建chatservice目录,并将ChatService文件移到目录下
[root@rocky service]mkdir chatservice
[root@rocky service]mv ChatService chatservice/
[root@rocky service]cd chatservice
[root@rocky chatservice]ls
ChatService修改ChatService权限,使其成为可执行文件
再次执行ls命令,可以看到ChatService文件名字变为绿色。
2、执行程序
输入命令执行程序
可以看到服务已经运行,并且监听21100端口。
启动测试客户端,尝试连接,
提示连接被拒绝,这是因为服务端防火墙未开放端口。
3、打开端口
先检查防火墙状态
防火墙firewalld正在运行,查看端口开放状态
显示空行,没有开放自定义端口。
增加端口21100,支持TCP连接
重启防火墙,再查看端口状态,可以看到端口21100已经开放
重启ChatService,再使用测试客户端尝试连接。
尝试请求SessionID,创建和加入房间,都能得到正确响应。
使用cat命令查看服务端日志
服务已经正常运行了。
4、后台运行
现在执行ChatService的方式是在一个终端上直接执行程序,终端关闭后,程序也会终止。
4.1 nohup运行
想在后台执行的话,需要使用nohup命令:
查看进程信息
中止程序可以使用kill命令,杀掉程序的进程号
4.2 创建启动脚本
使用nano命令,如果文件不存在,可以创建一个文件
输入启动命令
编辑完成后按Ctrl+x,提示保存已修改,输入“Y”,提示要保存的文件名,直接回车确认。
修改脚本权限
尝试运行脚本
说明服务正常运行,先kill掉进程2296,下面配置服务。
5、注册服务
我们可以将ChatService注册为服务,程序就可以开机自动启动服务了。
5.1 创建service文件
编辑内容
Unit中After=network.target表示本服务在network服务启动后再运行。
保存退出后执行cat chatsvr.service 可以查看已经修改的文件。
提升可执行权限
5.2 启动服务
daemon-reload: 重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。
发现服务启动失败,报错信息为
查看日志发现是SELinux阻止
修改文件标记,并使其生效
运行服务
查看服务进程
查看服务日志
执行reboot命令,重新启动服务器,查看情况
ChatService服务随服务器开机自行启动。
Last updated