首页 文章 精选 留言 我的

精选列表

搜索[Linux内核],共10000篇文章
优秀的个人博客,低调大师

linux下nginx启动、重启、关闭

方式一:传统方法 一、启动 cd usr/local/nginx/sbin ./nginx 二、重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/nginx/sbin ./nginx -s reload 判断配置文件是否正确 nginx -t -c /usr/local/nginx/conf/nginx.conf 或者 cd /usr/local/nginx/sbin ./nginx -t 三、关闭 查询nginx主进程号 ps -ef | grep nginx 从容停止 kill -QUIT 主进程号 快速停止 kill -TERM 主进程号 强制停止 kill -9 nginx 若nginx.conf配置了pid文件路径,如果没有,则在logs目录下 kill -信号类型 '/usr/local/nginx/logs/nginx.pid' 方式二:通过配置/etc/init.d/nginx文件来控制 这里使用的是编写shell脚本的方式来处理 vi /etc/init.d/nginx (输入下面的代码) #!/bin/bash #nginxStartupscriptfortheNginxHTTPServer #itisv.0.0.2version. #chkconfig:-8515 #description:Nginxisahigh-performancewebandproxyserver. #Ithasalotoffeatures,butit'snotforeveryone. #processname:nginx #pidfile:/var/run/nginx.pid #config:/usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/var/run/nginx.pid RETVAL=0 prog="nginx" #Sourcefunctionlibrary. ./etc/rc.d/init.d/functions #Sourcenetworkingconfiguration. ./etc/sysconfig/network #Checkthatnetworkingisup. [${NETWORKING}="no"]&&exit0 [-x$nginxd]||exit0 #Startnginxdaemonsfunctions. start(){ if[-e$nginx_pid];then echo"nginxalreadyrunning...." exit1 fi echo-n$"Starting$prog:" daemon$nginxd-c${nginx_config} RETVAL=$? echo [$RETVAL=0]&&touch/var/lock/subsys/nginx return$RETVAL } #Stopnginxdaemonsfunctions. stop(){ echo-n$"Stopping$prog:" killproc$nginxd RETVAL=$? echo [$RETVAL=0]&&rm-f/var/lock/subsys/nginx/var/run/nginx.pid } #reloadnginxservicefunctions. reload(){ echo-n$"Reloading$prog:" #kill-HUP`cat${nginx_pid}` killproc$nginxd-HUP RETVAL=$? echo } #Seehowwewerecalled. case"$1"in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status$prog RETVAL=$? ;; *) echo$"Usage:$prog{start|stop|restart|reload|status|help}" exit1 esac exit$RETVAL :wq 保存并退出 设置文件的访问权限 chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行) 这样在控制台就很容易的操作nginx了:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx… 同样的修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行, 配置开机自启动: 方式一:在/etc/rc.local中配置 可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了 vi /etc/rc.local 加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。 方式二:将nginx配置成自启动的服务 1.添加至服务管理列表,并让其开机自动启动 [root@nginx ~]# chkconfig --add nginx [root@nginx ~]# chkconfig nginx on [root@nginx ~]# chkconfig nginx --list nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 2、nginx启动、停止、无间断服务重启 [root@example ~]# service nginx start [root@example ~]# service nginx stop [root@example ~]# service nginx reload 3.查看一下端口 [root@nginx ~]# netstat -ntlp | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3889/nginx 对于其他服务也同样适用,比如Mysql,php-fpm等等 10.测试一下

优秀的个人博客,低调大师

Linux命令硬链接、软链接

1.mount命令使用 2.fstab文件的使用 作业:把/opt挂载到/tmp/opt下,并且添加到fstab中 mkdir /tmp/opt mount –B /opt /tmp/opt /opt /tmp/opt none bind 0 0 本节内容: 1.硬链接 硬链接是用索引节点来进行链接的实际链接,硬链接允许一个文件拥有多个有效路径,删除其中一个链接并不会影响其本身,只有最后一个链接删除时才会删除本身节点。 硬链接有两个限制: a)不允许给目录创建链接 b)不能在不同分区之间创建硬链接 创建硬链接使用的命令:ln 基本用法 : ln 目标文件 链接名称,比如我们有一个hard01的文件,创建一个硬链接hard_link,可以使用命令 ln hard hard_link 可以看到这两个文件的inode是一样的,都是1260478,同时我们看到第三列的值变成了2。删除硬链接后会变成1: 2.软链接 软链接也叫符号链接,是一个包含了另一个文件路径的文件,可以指向任意文件或目录,也可以跨不同的文件系统,和windows下的快捷方式非常类似。删除软链接不会删除所链接的文件,删除源文件,软链接会断链。 创建一个软链接, touch file1 ln –s file1 file-slink 删除源文件后,可以发现链接文件颜色发生了变化 用ll –li可以看到软链接的inode是不一样的 作业:为文件file1创建一个硬链接和软链接

优秀的个人博客,低调大师

Linux 下 rsyslog 系统日志转发

一、rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。 特性:1.多线程 2.支持加密协议:ssl,tls,relp 3.mysql、oracle、postgreSQL 4.等等.. 二、实践部署() 2.1 环境图 2.2.rsyslog server上部署操作 安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:) [root@opm ~]# yum install rsyslog -y 编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下 [root@opmlog]#grep-v"^#"/etc/rsyslog.conf|grep-v"^$" $ModLoadimuxsock#providessupportforlocalsystemlogging(e.g.vialoggercommand) $ModLoadimjournal#providesaccesstothesystemdjournal $ModLoadimmark#provides--MARK--messagecapability $ModLoadimudp $UDPServerRun514 $ModLoadimtcp $InputTCPServerRun514 $WorkDirectory/var/lib/rsyslog $AllowedSendertcp,192.168.30.0/24 $ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat $templateRemote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log" :fromhost-ip,!isequal,"127.0.0.1"?Remote $IncludeConfig/etc/rsyslog.d/*.conf $OmitLocalLoggingon $IMJournalStateFileimjournal.state *.info;mail.none;authpriv.none;cron.none/data/log/messages authpriv.*/var/log/secure mail.*-/var/log/maillog cron.*/var/log/cron *.emerg:omusrmsg:* uucp,news.crit/var/log/spooler local7.*/var/log/boot.log a.$AllowedSender tcp, 192.168.30.0/24 允许 30.0网段内的主机以tcp协议来传输 b.$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log" 定义模板,接受日志文件路径,区分了不同主机的日志 c.:fromhost-ip, !isequal, "127.0.0.1" ?Remote 过滤server 本机的日志。 d.$InputTCPServerRun 514 开启tcp,tcp和udp 可以共存的 创建日志目录,尽量选择系统内比较大的区域创建,因为考虑到要存放很多服务器的日志文件。 [root@opm ~]# mkdir -pv /data/log 修改完成无误后,重启rsyslog服务,并查看监听端口,514 是否是tcp协议 [root@opm ~]# systemctl restart rsyslog [root@opm ~]# netstat -aulntp | grep rsyslog tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 20228/rsyslogd tcp6 0 0 :::514 :::* LISTEN 20228/rsyslogd udp 0 0 0.0.0.0:514 0.0.0.0:* 20228/rsyslogd udp6 0 0 :::514 :::* 20228/rsyslogd 2.3 客户端上操作: node1 上进行配置 打开配置文件,老样子,先备份下在进行修改 /etc/rsyslog.conf,修改完记得要重启程序 [root@node1~]#grep-v"^$"/etc/rsyslog.conf|grep-v"^#" $ModLoadimuxsock#providessupportforlocalsystemlogging(e.g.vialoggercommand) $ModLoadimjournal#providesaccesstothesystemdjournal $WorkDirectory/var/lib/rsyslog $ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat $templatemyFormat,"%timestamp%%fromhost-ip%%msg%\n" $ActionFileDefaultTemplatemyFormat $IncludeConfig/etc/rsyslog.d/*.conf $OmitLocalLoggingon $IMJournalStateFileimjournal.state *.info;mail.none;authpriv.none;cron.none@@192.168.30.55 authpriv.*/var/log/secure mail.*-/var/log/maillog cron.*/var/log/cron *.emerg:omusrmsg:* uucp,news.crit/var/log/spooler local7.*/var/log/boot.log ceph1 上进行配置,重启rsyslog程序 打开配置文件/etc/rsyslog.conf [root@ceph1~]#grep-v"^$"/etc/rsyslog.conf|grep-v"^#" $ModLoadimuxsock#providessupportforlocalsystemlogging(e.g.vialoggercommand) $ModLoadimjournal#providesaccesstothesystemdjournal $WorkDirectory/var/lib/rsyslog $ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat $IncludeConfig/etc/rsyslog.d/*.conf $OmitLocalLoggingon $IMJournalStateFileimjournal.state *.info;mail.none;authpriv.none;cron.none@@192.168.30.55 authpriv.*/var/log/secure mail.*-/var/log/maillog cron.*/var/log/cron *.emerg:omusrmsg:* uucp,news.crit/var/log/spooler local7.*/var/log/boot.log $templatemyFormat,"%timestamp%%fromhost-ip%%msg%\n" $ActionFileDefaultTemplatemyFormat 最后重启客户端上的rsyslog程序 2.4 验证,在服务器上进到 /data/log 目录下,进行查看,会发现以下类似的文件结构 [root@opm ~]# tree /data/log/ /data/log/ ├── 192.168.30.56 │ └── 192.168.30.56_2016-05-05.log ├── 192.168.30.57 │ └── 192.168.30.57_2016-05-05.log └── messages 2 directories, 3 files messages:server 端的系统日志 文件夹192.168.30.56: node1 客户端的日志 文件夹192.168.30.57: ceph1 客户端的日志 我们这里只查看node1 的系统日志吧。server 上进行操作 [root@opm ~]# tail -f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log May 5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9296" x-info="http://www.rsyslog.com"] exiting on signal 15. May 5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9334" x-info="http://www.rsyslog.com"] start May 5 20:50:45 node1 systemd: Stopping System Logging Service... May 5 20:50:45 node1 systemd: Starting System Logging Service... May 5 20:50:45 node1 systemd: Started System Logging Service. 这里还可以在node1上在命令行里输入 logger “this is test ” 发送消息,server上进行查看下 [root@opm ~]# tail -1f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log May 5 20:52:46 node1 root: this is test 2.5.如果验证失败的话,先检查selinux 是否关闭。后将udp 514 端口和tcp 514端口允许30网段访问即可,或者关闭iptables 服务。另外说明centos7上 默认防火墙是firewalld。该操作在每台机器上进行。 三、收集系统其它服务日志,在客户端node1 上操作,示例以openstack-nova 服务的日志为例: 3.1.先修改配置文件 /etc/rsyslog.conf,完整内容如下: [root@node1~]#egrep-v'^#|^$'/etc/rsyslog.conf $ModLoadimuxsock#providessupportforlocalsystemlogging(e.g.vialoggercommand) $ModLoadimjournal#providesaccesstothesystemdjournal $ModLoadimmark#provides--MARK--messagecapability $WorkDirectory/var/lib/rsyslog $ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat $IncludeConfig/etc/rsyslog.d/*.conf $OmitLocalLoggingon $IMJournalStateFileimjournal.state *.info;mail.none;authpriv.none;cron.none@@192.168.30.67 authpriv.*/var/log/secure mail.*-/var/log/maillog cron.*/var/log/cron *.emerg:omusrmsg:* uucp,news.crit/var/log/spooler local7.*/var/log/boot.log module(load="imfile"PollingInterval="5") $InputFileName/var/log/nova/nova-compute.log $InputFileTagnova-info: $InputFileStateFilestate-nova-info $InputRunFileMonitor 其实只添加了后5行的内容,对每项简单解释下 module(load="imfile" PollingInterval="5") 加载imfile 模块,并5秒刷新一次 $InputFileName /var/log/nova/nova-compute.log 要监控的日志文件路径 $InputFileTag nova-info: 定义文件标签 ,注意最后是冒号: $InputFileStateFile state-nova-info 定义状态文件 $InputRunFileMonitor 激活读取,可以设置多组日志读取,每组结束时设置本参数 3.2.修改完成后,重启客户端的rsyslog服务 [root@node1 ~]# systemctl restart rsyslog 3.3 验证,在rsyslog服务器上查看日志,如下图 四、总结 以前不知道这个,总以为日志转发很难,现在感觉rsyslog还是挺简单的。不过简单是因为我们只是用了最简单方法,而且功能也是只用了系统日志的转发,后续会尝试如何记录转发其它服务的日志,比如mysql、zabbix、以及nova 服务的日志。这些才是最终的目的。

优秀的个人博客,低调大师

Linux系统管理命令

<1>查看当前日历:cal cal命令用于查看当前日历,-y显示整年日历: <2>显示或设置时间:date 设置时间格式(需要管理员权限): date [MMDDhhmm[[CC]YY][.ss]] +format CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。 显示时间格式(date ‘+%y,%m,%d,%H,%M,%S’): format格式 含义 %Y,%y 年 %m 月 %d 日 %H 时 %M 分 %S 秒 <3>查看进程信息:ps 进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。 ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下: 选项 含义 -a 显示终端上的所有进程,包括其他用户的进程 -u 显示进程的详细状态 -x 显示没有控制终端的进程 -w 显示加宽,以便显示更多的信息 -r 只显示正在运行的进程 <4>动态显示进程:top top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。 在top命令执行后,可以按下按键得到对显示的结果进行排序: 按键 含义 M 根据内存使用量来排序 P 根据CPU占有率来排序 T 根据进程运行时间的长短来排序 U 可以根据后面输入的用户名来筛选进程 K 可以根据后面输入的PID来杀死进程。 q 退出 h 获得帮助 <5>终止进程:kill kill命令指定进程号的进程,需要配合 ps 使用。 使用格式: kill [-signal] pid 信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。 kill 9133 :9133 为应用程序所对应的进程号 有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束: <6>关机重启:reboot、shutdown、init 命令 含义 reboot 重新启动操作系统 shutdown –r now 重新启动操作系统,shutdown会给别的用户提示 shutdown -h now 立刻关机,其中now相当于时间为0的状态 shutdown -h 20:25 系统在今天的20:25 会关机 shutdown -h +10 系统再过十分钟后自动关机 init 0 关机 init 6 重启 <7>检测磁盘空间:df df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。 选项 含义 -a 显示所有文件系统的磁盘使用情况 -m 以1024字节为单位显示 -t 显示各指定文件系统的磁盘空间使用情况 -T 显示文件系统 <8>检测目录所占磁盘空间:du du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。 du命令的使用格式如下: du [选项] 目录或文件名 选项 含义 -a 递归显示指定目录中各文件和子目录中文件占用的数据块 -s 显示指定文件或目录占用的数据块 -b 以字节为单位显示磁盘占用情况 -l 计算所有文件大小,对硬链接文件计算多次 <9>查看或配置网卡信息:ifconfig 如果,我们只是敲:ifconfig,它会显示所有网卡的信息: <10>测试远程主机连通性:ping ping host

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册