<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[CentOS 7 使用经验分享，CentOS 7 修改开机顺序，CentOS7 采用的是systemd,centos7上systemd详解。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Mon, 09 Feb 2015 01:17:07 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	一、记录CentOS 7与以往不同的地方<br/>由于公司这一期的产品准备支持的环境有CentOS 7、MySql 5.6、Java 8、Tomcat 8等等，并且因为人员严重不足，我本月的开发任务在原有的基础上又加上了好多环境检证的工作。<br/>　　因为在这次环境检证过程中遇到了不少困难，特此记录一下。<br/>　　重点：记录CentOS 7与以往不同的地方<br/>　　1.取消ifconfig，使用ip addr 查看IP地址。　　<br/>　　2.使用firewalld 取代 iptables。<br/>　　3.系统默认编码设置文件，由/etc/sysconfig/i18n&nbsp;&nbsp;更改为 /etc/locale.conf<br/>___________________________详细介绍使用感受__________________________<br/>因为系统安装时网络连接设置的自动获取，先改成静态ip。配置方法如下：<br/>　　第一步，vi /etc/sysconfig/network-scripts/ifcfg-enp0s25；<br/>　　设置内容：<br/>　　<br/>　　解释：　　<br/>IPADDR0 --&gt; ip<br/>GATEWAY0 --&gt; 网关<br/>DNS1 --&gt;DNS<br/>　　<br/>　　第二步，重启网络服务 --&gt;service network restart（特别重要，千万不要忘记。）<br/>　　第三步.查看ip ip addr，再 ping 一下网络。这是网络配置基本就完成了。<br/>　　事情进展到这里貌似也没什么难过的坎，我开始配置防火墙。先使用 iptables status 查看防火墙状态，<br/>　　<br/>　　我去，什么鬼？我敲错了？有一次仔细核对了每一个字母，完全没错啊！！！不管怎么说，先看一下iptables脚本是否还存在吧。<br/>　　<br/>　　咦，iptables脚本不见了。不用多想一定是CentOS 7使用了新型的防火墙，立即百度。<br/>　　※度娘解惑：CentOS 7使用firewalld 取代 iptables。使用命令行工具firewalld-cmd获取firewalld状态，$ firwall-cmd --state。<br/>摘自：http://www.linuxidc.com/Linux/2015-01/111998.htm<br/><br/>————————————————————————————————————————————————————————————<br/>二、修改开机启动顺序：<br/>http://wenku.baidu.com/link?url=HXBiVyBOB_p1oAEN0Wunreof9Fff9dy4s6abRC_Zqq6Cm1ZbOvmgXrcQ3kC3OTLmDq-FwrjeK-Fw9zgoZ3yBGGyA_ikGSRtjvhjcS_dEaQu<br/><br/>————————————————————————————————————————————————————————————<br/>三、 CentOS 7 巨大变动之 systemd 取代 SysV的Init<br/>systemd是什么<br/>首先systmed是一个用户空间的程序，属于应用程序，不属于Linux内核范畴，Linux内核的主要特征在所有发行版中是统一的，厂商可以自由改变的是用户空间的应用程序。<br/>Linux内核加载启动后，用户空间的第一个进程就是初始化进程，这个程序的物理文件约定位于/sbin/init，当然也可以通过传递内核参数来让内核启动指定的程序。这个进程的特点是进程号为1，代表第一个运行的用户空间进程。不同发行版采用了不同的启动程序，主要有以下几种主流选择：<br/>（1）以Ubuntu为代表的Linux发行版采用upstart。<br/>（2）以7.0版本之前的CentOS为代表的System V init。<br/>（3）CentOS7.0版本的systemd。<br/>下面是CentOS6.5和CentOS7两个版本初始化进程的信息截图。<br/>CentOS6.5采用的是systemV init<br/>CentOS7 采用的是systemd：<br/>Linux内核加载启动后，用户空间的第一个进程就是初始化进程，这个程序的物理文件约定位于/sbin/init，当然也可以通过传递内核参数来让内核启动指定的程序。这个进程的特点是进程号为1，代表第一个运行的用户空间进程。不同发行版采用了不同的启动程序，主要有以下几种主流选择：<br/>（1）以Ubuntu为代表的Linux发行版采用upstart。<br/>（2）以7.0版本之前的CentOS为代表的System V init。<br/>（3）CentOS7.0版本的systemd。<br/>下面是CentOS6.5和CentOS7两个版本初始化进程的信息截图。<br/>CentOS6.5采用的是systemV init<br/>CentOS7 采用的是systemd<br/><br/>摘自：http://blog.csdn.net/smstong/article/details/39317491<br/><br/>参考：https://blog.linuxeye.com/400.html<br/><br/>=======================centos7上systemd详解============================<br/>CentOS 7继承了RHEL 7的新的特性，例如强大的systemd， 而systemd的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变， 也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同，同时变的简单而易用了许多。<br/><br/>CentOS 7的服务systemctl脚本存放在：/usr/lib/systemd/，有系统 system 和用户 user 之分， 即：/usr/lib/systemd/system 和 /usr/lib/systemd/user<br/><br/>配置文件<br/><br/>这里我们先要说明一下unit的文件位置，一般主要有三个目录：<br/><br/>/lib/systemd/system<br/>/run/systemd/system<br/>/etc/systemd/system<br/>这三个目录的配置文件优先级依次从低到高，如果同一选项三个地方都配置了，优先级高的会覆盖优先级低的。 系统安装时，默认会将unit文件放在/lib/systemd/system目录。如果我们想要修改系统默认的配置，比如nginx.service，一般有两种方法：<br/><br/>在/etc/systemd/system目录下创建nginx.service文件，里面写上我们自己的配置。<br/>在/etc/systemd/system下面创建nginx.service.d目录，在这个目录里面新建任何以.conf结尾的文件，然后写入我们自己的配置。推荐这种做法。<br/>/run/systemd/system这个目录一般是进程在运行时动态创建unit文件的目录，一般很少修改，除非是修改程序运行时的一些参数时，即Session级别的，才在这里做修改。<br/><br/>服务配置<br/><br/>每一个服务以.service结尾，一般会分为3部分：[Unit]、[Service]和[Install]，就以nginx为例吧，具体内容如下：<br/>[Unit]<br/>Description=nginx - high performance web server<br/>Documentation=http://nginx.org/en/docs/<br/>After=network.target remote-fs.target nss-lookup.target<br/>[Service]<br/>Type=forking<br/>PIDFile=/usr/local/nginx/logs/nginx.pid<br/>ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf<br/>ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf<br/>ExecReload=/bin/kill -s HUP $MAINPID<br/>ExecStop=/bin/kill -s QUIT $MAINPID<br/>PrivateTmp=true<br/>[Install]<br/>WantedBy=multi-user.target<br/>配置项说明<br/><br/>下面分别解释下着三部分的含义<br/><br/>[Unit]<br/><br/>Description : 服务的简单描述<br/>Documentation ： 服务文档<br/>After= : 依赖，仅当依赖的服务启动之后再启动自定义的服务单元<br/>[Service]<br/><br/>Type : 启动类型simple、forking、oneshot、notify、dbus<br/>Type=simple（默认值）：systemd认为该服务将立即启动，服务进程不会fork。如果该服务要启动其他服务，不要使用此类型启动，除非该服务是socket激活型<br/>Type=forking：systemd认为当该服务进程fork，且父进程退出后服务启动成功。对于常规的守护进程（daemon），除非你确定此启动方式无法满足需求， 使用此类型启动即可。使用此启动类型应同时指定PIDFile=，以便systemd能够跟踪服务的主进程。<br/>Type=oneshot：这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。<br/>Type=notify：与 Type=simple 相同，但约定服务会在就绪后向 systemd 发送一个信号，这一通知的实现由 libsystemd-daemon.so 提供<br/>Type=dbus：若以此方式启动，当指定的 BusName 出现在DBus系统总线上时，systemd认为服务就绪。<br/>PIDFile ： pid文件路径<br/>ExecStartPre ：启动前要做什么，上文中是测试配置文件 －t<br/>ExecStart：启动<br/>ExecReload：重载<br/>ExecStop：停止<br/>PrivateTmp：True表示给服务分配独立的临时空间<br/>[Install]<br/><br/>WantedBy：服务安装的用户模式，从字面上看，就是想要使用这个服务的有是谁？上文中使用的是：multi-user.target ，就是指想要使用这个服务的目录是多用户。<br/>每一个.target实际上是链接到我们单位文件的集合,当我们执行<br/><br/>systemctl enable nginx.service<br/>就会在 /etc/systemd/system/multi-user.target.wants/ 目录下新建一个 /usr/lib/systemd/system/nginx.service 文件的链接。<br/>systemctl status logstash.service<br/>● logstash.service - logstash<br/>&nbsp;&nbsp; Loaded: loaded (/etc/systemd/system/logstash.service; enabled; vendor preset: disabled)<br/>&nbsp;&nbsp; Active: active (running) since Thu 2020-07-16 10:51:32 CST; 29min ago<br/><br/>systemctl is-enabled logstash.service<br/>enabled<br/><br/>/etc/systemd/system/logstash.service<br/><br/>操作示例<br/><br/>下面是几个最常用的service操作:<br/># 自启动<br/>systemctl enable nginx.service<br/># 禁止自启动<br/>systemctl disable nginx.service<br/># 启动服务<br/>systemctl start nginx.service<br/># 停止服务<br/>systemctl stop nginx.service<br/># 重启服务<br/>systemctl restart nginx.service<br/># 查看Unit定义文件<br/>systemctl cat nginx.service<br/># 编辑Unit定义文件<br/>systemctl edit nginx.service<br/># 重新加载Unit定义文件<br/>systemctl reload nginx.service<br/># 列出已启动的所有unit，就是已经被加载到内存中<br/>systemctl list-units<br/># 列出系统已经安装的所有unit，包括那些没有被加载到内存中的unit<br/>systemctl list-unit-files<br/># 查看服务的日志<br/>journalctl -u nginx.service&nbsp;&nbsp;&nbsp;&nbsp;# 还可以配合`-b`一起使用，只查看自本次系统启动以来的日志<br/># 查看所有target下的unit<br/>systemctl list-unit-files --type=target<br/># 查看默认target，即默认的运行级别。对应于旧的`runlevel`命令<br/>systemctl get-default<br/># 设置默认的target<br/>systemctl set-default multi-user.target<br/># 查看某一target下的unit<br/>systemctl list-dependencies multi-user.target<br/># 切换target，不属于新target的unit都会被停止<br/>systemctl isolate multi-user.target<br/>systemctl poweroff&nbsp;&nbsp;&nbsp;&nbsp;# 关机<br/>systemctl reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 重启<br/>systemctl rescue&nbsp;&nbsp;&nbsp;&nbsp;# 进入rescue模式<br/>参考资料<br/><br/>create systemd unit files<br/>NGINX systemd service file<br/>Systemd introduction<br/><br/>From:https://www.xncoding.com/2016/06/07/linux/systemd.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] CentOS 7 使用经验分享，CentOS 7 修改开机顺序，CentOS7 采用的是systemd,centos7上systemd详解。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>