centos7操作记录(适用于centos8)

基础配置

关闭防火墙

sudo systemctl stop firewalld.service #停止firewall
sudo systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

关闭SELinux

查看SELinux状态

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
getenforce                 ##也可以用这个命令检查

临时关闭

setenforce 0                  ##设置SELinux 成为permissive模式
                              ##setenforce 1 设置SELinux 成为enforcing模式

永久关闭

修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

设置开机启动

准备

centos7使用systemd管理自己的系统服务的开机启动。
开机启动,总得有个启动的东西,我们这里弄来了个tomcat来做开机启动,反正以后肯定用得到,就在这里来搞个开机启动吧。目录为:/usr/local/tomcat8080

脚本目录

  • Centos系统服务脚本目录:/usr/lib/systemd/
  • 未登录即可运行的系统服务:/lib/systemd/system/

建立服务文件

vim /lib/systemd/system/tomcat8080.service

[Unit]
Description=tomcat8080  #描述服务
After=network.target  #描述服务类别

[Service]
Type=forking  #forking是后台运行的形式
ExecStart=/usr/local/tomcat8080/bin/startup.sh  #服务启动的具体命令
#ExecReload为服务重启的具体命令
ExecStop=/usr/local/tomcat8080/bin/shutdown.sh  #服务停止的具体命令
PrivateTmp=true  #true表示给服务分配独立的临时空间

[Install]
WantedBy=multi-user.target  #设置为多用户

systemctl enable tomcat8080.service
    重启后发现并未启动,调用service tomcat8080 start,发现调用失败,根据提示查看原因:systemctl status tomcat8080.service
    发现是没有找到java环境变量,之前明明已经配置了,所以,我们把JAVA_HOME写到tomcat的catalina.sh文件里去
    再次重新启动,成功

其他命令

任务 旧指令 新指令
使某服务自动启动 chkconfig --level 3 tomcat8080 on systemctl enable tomcat8080.service
使某服务不自动启动 chkconfig --level 3 tomcat8080 off systemctl disable tomcat8080.service
检查服务状态 service tomcat8080 status systemctl status tomcat8080.service (服务详细信息) systemctl is-active tomcat8080.service (仅显示是否 Active)
显示所有已启动的服务 chkconfig --list systemctl list-units --type=service
启动某服务 service tomcat8080 start systemctl start tomcat8080.service
停止某服务 service tomcat8080 stop systemctl stop tomcat8080.service
重启某服务 service tomcat8080 restart systemctl restart tomcat8080.service

补充说明

After

表示如果network.target或sshd-keygen.service需要启动,那么sshd.service应该在它们之后启动。

Type

  • simple(默认值):ExecStart字段启动的进程为主进程
  • forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
  • oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
  • dbus:类似于simple,但会等待 D-Bus 信号后启动
  • notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
  • idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合

WantedBy

    表示该服务所在的 Target。
    Target的含义是服务组,表示一组服务。WantedBy=multi-user.target指的是,sshd 所在的 Target 是multi-user.target。
    这个设置非常重要,因为执行systemctl enable sshd.service命令时,sshd.service的一个符号链接,就会放在/etc/systemd/system目录下面的multi-user.target.wants子目录之中。

参考的重要博客:
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

调整linux参数

打开文件/etc/security/limits.conf,在结尾添加如下内容:

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
  • soft nproc: 可打开的文件描述符的最大数(软限制)
  • hard nproc: 可打开的文件描述符的最大数(硬限制)
  • soft nofile:单个用户可用的最大进程数量(软限制)
  • hard nofile:单个用户可用的最大进程数量(硬限制)

网络操作

两个版本的网卡配置文件放置的位置是相同的,都在/etc/sysconfig/network-scripts/ 下面。查看ip的命令也是相同的,ip addr。不同的是对网络的管理。

  • centos7中网络管理用的是network.service,重启这个服务就可以重启网络。
  • centos8中网络管理用的是NetworkManager,重启网卡的命令为nmcli d reapply 网卡名。
    centos8也是支持network.service的只是默认没装。个人认为,没必要装回来了,这样重启网络的粒度也更细致了,挺好的。

你可能感兴趣的:(centos7操作记录(适用于centos8))