服务器技术(二)--Linux进阶应用(1)--Linux系统管理命令及应用服务化

Linux系统管理命令

使用ifconfig查看网卡ip

在这里插入图片描述

netstat查看网络端口号

netstat -tulpn 或者 netstat -ano
在这里插入图片描述
其中第一列Proto指网络协议
第二列Recv-Q 接受队列,大多数情况下为0,表示等待处理的数据包的数量
第三列Send-Q 发送队列,大多数情况下为0,表示等待处理的数据包的数量
第四列Local Address 本地地址
第五列Foreign Address 远程地址
第六列State 网络连接的状态,LISTEN表示此链接正在被监听
第七列PID/Program name 创建此网络连接的应用进程编号及名称,进程编号为此应用在系统中的唯一标识

netstat常用选项

在这里插入图片描述

查看进程&杀掉进程

ps -ef
kill -9 PID
在这里插入图片描述
不推荐直接使用kill杀掉进程,大多数应用都有退出的命令,最好使用相应的退出命令完成进程的退出,如果强制使用kill杀掉进程可能会造成数据的丢失或无法预料的情况。

应用服务化

应用服务化是指让应用程序以服务方式在系统后台运行。
Linux系统对服务化应用进行统一管理。
服务管理命令:systemctl

systemctl

在这里插入图片描述

把Redis服务化

第一步,确认PID文件存在,执行find / -name *.pid
在这里插入图片描述
redis_6379.pid中保存了当前应用的进程编号

第二步,切换到/usr/lib/systemd/system,然后创建redis.service执行vim redis.service输入内容为
在这里插入图片描述
[Unit]
Description=Redis #描述信息,给读者看的。
After=syslog.target network.target remote-fs.target nss-lookup.target #应用服务等配置的系统服务启动后再自动启动,大多数情况下这些系统服务是固定的。
[Service] #服务配置项
Type=forking #服务类型 forking为后台运行。
PIDFile=/run/redis_6379.pid #指定保存应用程序进程编号的文件
ExecStart=/usr/local/redis-7.0.1/src/redis-server /usr/local/redis-7.0.1/redis.conf #服务启动命令
ExecStop=/bin/kill -s QUIT $MAINPID #服务停止命令,其中$MAINPID为变量,值来自上面指定应用进程编号文件中的值, -s QUIT为按正常的流程通知指定的进程进行应用关闭(-9为粗暴强制杀掉进程,不推荐)
PrivateTmp=true #为每个服务设置私有的tmp临时文件目录
[Install] #安装配置项
WantedBy=multi-user.target #将我们当前服务分配到multi-user服务组上,multi-user为系统默认的服务组,系统为这个服务组分配了一个权限,允许当前服务组的所有服务可以随系统自动启动。

第三步,执行systemctl daemon-reload 对所有service进行重载,然后启动服务,启动之前执行ps -ef | grep redis检查有没有已启动的Redis,如果有执行kill -s QUIT 进程编号 关掉,如果没有直接执行systemctl start redis启动服务,启动后查看服务systemctl status redis
在这里插入图片描述
如果启动失败并出现如下图提示,请把redis.service中的Type=forking注释掉,然后重新执行systemctl daemon-reload重载,然后在执行systemctl start redis启动服务。
在这里插入图片描述
停止服务执行systemctl stop redis命令,然后再执行systemctl status redis查看服务状态
在这里插入图片描述
执行systemctl enable redis让redis服务随着系统开机自动启动
在这里插入图片描述
看到提示为:在multi-user.target.wants分组下面增加了redis.service并指向了最原始的/usr/lib/systemd/system/redis.service,我们将称之为软关联,其用意是只要将服务放在multi-user.target.wants目录中,就自动的将我们redis服务允许随着系统自动启动了。所谓的软关联跟我们的windows系统的快捷方式有点类似。
然后执行命令shutdown -r now进行重启,然后执行systemctl status redis查看服务启动状态为redis服务已经启动成功了。
在这里插入图片描述
如果不希望redis服务随着服务启动就执行systemctl disable redis会把multi-user.target.wants目录下的redis服务软关联移除掉,redis服务也会随着系统启动了。
在这里插入图片描述
可以执行systemctl list-unit-files查看系统所有服务列表,后面有每个服务的状态,enabled表示此服务会随着系统启动,disabled表示不会随着系统启动,static表示本身不会独立的随系统启动,当别的服务启动时如果关联到此服务,就会将其启动。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值