欢迎光临
我们一直在努力
共 125 篇文章

标签:服务器 第4页

关于Linux系统授权MySQL外网访问的教程-学派吧-

关于Linux系统授权MySQL外网访问的教程-学派吧

问题描述 MySQL 无法通过外网连接。 问题原因 在 MySQL 的 bin 目录下执行: 登陆到数据 mysql -uroot -p密码 use mysql; select host,user,password from user; 可以看到 user 为 root,host 为 localhost 的话,说明 MySQL 只允许本机连接,那么外网,本地软件客户端就无法连接了。 解决方案 执行如下命令: update user set host='%' where user ='root'; flush privileges; 查看是否修改正常: 对于设置其他用户远程连接的方法: GRANT ALL PRIVILEGES ON 数据库名.* TO 账户@"%" IDENTIFIED BY "密码"; flush privileges; 可以测试外网连接 MySQL 服务器。关注我们  

linux服务器下如何查看mysql安装信息的详细教程-学派吧--

linux服务器下如何查看mysql安装信息的详细教程-学派吧-

这篇文章主要介绍了linux服务器下查看mysql的安装信息,需要的朋友可以参考下 查看mysql的安装信息: #ps -ef | grep mysql usr/bin/mysql 是指:mysql的运行路径 var/lib/mysql 是指:mysql数据库文件的存放路径 usr/lib/mysql 是指:mysql的安装路径 #whereis mysql #mysqladmin -u root -p variables root是你的数据库帐号 回车后会提示你输入密码,输入上边填写的帐号对应的密码 回车后出来一个大表,找到datadir这一行,后边的值就是数据库所在的路径了。 以上就是linux服务器下如何查看mysql安装信息的详细介绍的详细内容,更多请关注学派吧-

赞(0)adminadminMySQL 阅读(2120)去评论

Linux系统MySQL备份的导入导出的具体操作教程-学派吧

问题描述 如何对 ECS Linux 系统中的 MySQL 进行备份的导入和导出。 处理办法 MySQL 备份的导出 MySQL 备份的导入 MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql。 如果您将 MySQL 安装到其他目录,您需要输入您 MySQL 完整的安装路径。 单库备份您可以在服务器上执行如下命令: /alidata/server/mysql/bin/mysqldump -uroot -p密码 数据库名 > 备份名称.sql mysqldump 默认不会导出事件表,执行此命令会出现警告 — Warning: Skipping the data of table mysql.event. Specify the –events option explicitly. 如果您需要导出 MySQL 事件,您可以执行如下命令: /alidata/server/mysql/bin/mysqldump -uroot -p密码 --events --ignore-table=mysql.event 数据库名 > 备份名称.sql MySQL 备份的导入 如果您需要导入备份的 .sql 文件,可以在 备份名称.sql 文件所在目录中执行如下命令: /alidata/server/mysql/bin/mysql -uroot -p密码 mysql < 备份名称.sql 也可以通过执行如下命令: /alidata/server/mysql/bin/mysql -uroot -p密码 mysql>use 数据库; mysql>source /root/备份名称.sql; 注意:/root/备份名称.sql 为实际备份文件绝对路径 以上就是Linux系统MySQL备份的导入导出的具体分析的详细内容,更多请关注学派吧-其它相关文章!

赞(0)adminadminMySQL 阅读(1790)去评论
Linux vsftpd连接报错:500 OOPS: vsftpd的解决办法详解-学派吧--

Linux vsftpd连接报错:500 OOPS: vsftpd的解决办法详解-学派吧-

问题现象 云服务器 ECS Linux 系统用 vsftpd 搭建的 FTP 服务,客户端连接时提示报错 “500 OOPS: vsftpd: refusing to run with writable root inside chroot()” 处理办法 1. 在服务器上修改Vsftpd的配置文件vsftpd.conf vim /etc/vsftpd/vsftpd.conf # 添加一行配置 allow_writeable_chroot=YES 2. 保存退出,重启一下 vsftp 服务即可。 以上就是Linux vsftpd连接报错:500 OOPS: vsftpd的解决办法详解的详细内容,更多请关注学派吧-其它相关文章!

赞(0)adminadminunix 阅读(2634)去评论
学派吧-Zabbix-agent客户端的编译安装-linux教程-

学派吧-Zabbix-agent客户端的编译安装-linux教程

系统环境: CentOS 6.8 官网下载安装包:http://www.zabbix.com/download 本文用的是Zabbix 3.0 LTS 上传至客户端服务器并解压 tar xzvf zabbix-3.0.9.tar.gz 进入解压后的文件夹开始编译安装 ./configure --prefix=/usr/local/zabbix --enable-agent          //指定路径make && make install                             //编译安装 复制安装包中的文件到安装路径下 /root/zabbix-./misc/init.d/fedora/core/zabbix_agentd /etc/init.d//etc/init.d/zabbix_agentd 启动agent服务 groupadd zabbix             //添加zabbix组useradd zabbix -g zabbix           //添加zabiix用户service zabbix_agentd start        //启动服务 配置agent vim /usr/local/zabbix/etc/zabbix_agentd.conf Server=127.0.0.1 >> Server="服务端IP“ //如不在统一网段,需要添加多个IP、网关IPServerActive=127.0.0.1 >> ServerActive="服务端IP”Hostname=Zabbix server >> Hostname="本机IP” 客户端开启端口10050 /sbin/iptables -I INPUT -p tcp --dport -/sbin/iptables -I INPUT -p tcp --dport -j ACCEPT /etc/rc.d/init.d/iptables save service zabbix_agentd restart              服务端web设置 配置—主机—创建主机 查看状态如图ZBX亮起为成功! 以上就是Zabbix-agent客户端的编译安装的详细内容,更多请关注php中文网其它相关文章!

赞(0)adminadminunix 阅读(1868)去评论
学派吧-iptables基本概念和原理 -linux教程-

学派吧-iptables基本概念和原理 -linux教程

概述 iptables是linux自带的防火墙软件,用于配置IPv4数据包过滤或NAT(IPv6用ip6tables)。 在linux上,防火墙其实是系统内核的一部分,基于Netfilter构架,基本原理就是在内核网络层数据包流经的不同位置放置一些钩子(hook),利用这些嵌入网络层的hook来对数据抓取、控制或修改,iptables其实只是默认的netfilter控制管理工具,所以使用ps或者top看不到有一个“防火墙”的进程存在,防火墙是不能被卸载也不能关闭的,大家熟知的"service iptables stop"或者“/etc/init.d/iptables stop”命令只不过是清空所有策略和表,并把默认策略改为ACCEPT(允许)而已。 iptables有以下几个重点概念:: table(表):iptables内置4个table,不同的table代表不同的功能,每个table可以包含许多chain,不同类型的table对所能包含的chain和策略中的target的使用做了限定,一些target不能在一些table中使用。用户不能自定义table; chain(链):chain可用包括一系列的策略,通过配置不同的chain可以对不同作用的策略进行分类,iptables内置5个chain对应netfilter的5个hook,用户也可以自定义chain; command(命令):command是对表或链的操作动作,比如添加、删除、修改等等; rule-specification(策略):包括下面的匹配规则和目标; match(匹配规则):定义本条策略适用于那些数据包,匹配规则可以包括协议、源/目的地址、端口等等; target(目标):对匹配上规则的数据包采取的操作,target可以是一个动作或者自定义chain,常见的动作有丢弃(DROP)、允许(ACCEPT)、NAT等等,当target是自定义chain时,数据包进入自定义chain继续匹配; policy(默认策略):内置chain的默认动作,每个chain只能有一个policy,如果数据包匹配某条chain匹配完最后一条策略依然没有匹配上,那么就采用policy的默认动作。policy不匹配规则,而且target只能是丢弃(DROP)或允许(ACCEPT),自定义chain不能定义policy。 表 iptables的4个表分别是: filter(过滤):数据包过滤/拦截,可以包含INPUT、FORWARD、OUTPUT这3个内置chain。 nat(地址转换):IP地址或端口号转换,可以包含PREROUTING、OUTPUT、POSTROUTING 3个内置chain,nat table在会话建立时会记录转换的对应关系,同一会话的回包和后续报文会自动地址转换,这是因为nat使用了ip_conntrack模块。 mangle(包管理):用来修改IP报文,可以包含PREROUTING、OUTPUT、INPUT、FORWARD、POSTROUTING 5个内置chain。 raw:此表的优先级高于ip_conntrack模块和其它的table,主要用于将有会话状态的连接(比如tcp)的数据包排除在会话外。可以包含POSTROUTING、OUTPUT两个内置chain。 看到这里肯定会有这样的疑问,为什么table只能包含一些而不是全部的chain呢?我想这个构架是按需设计而不是按功能设计的,尽管table不是包含所有的chain,但是每种功能的table都包含了实现这种功能所需的chain,即使包含更多的chain也是累赘或者无用的,而且实际上用起来也的确如此,够用了。 还有就是不同table生效优先顺序问题,先后优先级是这样的: raw > mangle > nat > filter 所以,如果有filter禁止ping目的地址2.2.2.2,而nat又有策略将目的地址1.1.1.1转换成2.2.2.2,那么ping 1.1.1.1是ping不通的。 不过一般情况下filter是不会和nat的策略打起架来,比如INPUT chain能做filter,却不能做nat,PREROUTING能做nat却不能做filter,而且PREROUTING只能做目的地址转换,不会对源地址过滤的需求造成麻烦,所以通常是不会相互干扰的。 链 iptables内置的5个chain:PREROUTING、INPUT、OUPUT、FORWARD、POSTROUGING,这5个chain分别与netfilter中数据转发路径上的5个不同的位置挂钩,以匹配筛选不同类型的数据流,如下图所示: 其中: PREROUTING链:应用于所有进入机器的ip包,包括目的地址是本机和目的地址非本机的包。 INPUT链:应用于所有目的是本机的包,也就是目的IP是本机接口地址,所有发给本地socket的数据都经过它。 OUPUT链:应用于所有由本机产生的包,所有应用程序发出的数据都经过它。 FORWARD链:应用于所有经过路由决策被转发的包,也就是目的地址不是本机的数据包。 POSTROUGING链:应用于所有发出机器的IP包,包括本机发出的和从本机转发的数据包。 策略匹配按照重上到下的顺序进行,当测试到某策略匹配时执行target并跳出,不再向下匹配,当测试到最后一条策略仍不匹配时,则采用policy指定的动作,如下图: 除了内置chain外,还可以自定义chain,自定义chain并不能利用netfilter的hook来捕捉数据包,但是可用于策略的分类,比如有3类不同的用户访问主机上的不同服务,如果所有策略都放在INPUT chain中策略会多而难以维护,这个时候就可以定义3个自定义chain,分别配置不同的策略,同时在INPUT chain中添加策略对来访者分类并将目标指向3个自定义chain。 自定义chain大显神威的地方在于动态生成策略,例如VPN服务器上,需要对不同分组的用户区别对待管理,但是用户IP是随机分配的,不能根据IP来区分用户组,这时候可以预先定义好各组chain,利用VPN服务端软件的一些钩子,当用户登陆时自动添加策略引导到自定义chain上来匹配。如果这时候没有自定义chain,那么策略的数量将是(用户数×所属组策略数),每增加一个用户,都要把所属组的全部策略添加一遍,这样大量的时间花费在策略匹配上,性能下降很快。 命令 命令用来操作表和链,可以做这些操作: 清空一个table中包含的所有chain 创建、重命名或删除一个自定义chain,清空一个内置chain或者给内置chain设置policy(默认策略) 在某个chain中追加、删除、修改一条策略 显示策略 由于本文只讲概念和原理,所以暂时不提命令,命令的详细使用方法会在“iptables实用教程(二)”里说明。 以上就是iptables基本概念和原理 的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1703)去评论
学派吧-shell一个空格引起的异常-linux教程-

学派吧-shell一个空格引起的异常-linux教程

学派吧-最近使用shell编写一个备份和替换f服务器程序的脚本replace.sh,初衷是为了节约人力的重复机械的劳动。在脚本编写过程中,由于疏忽多打了一个空格,出现了一个不符合预期的情况。 1.先看一下出问题的replace.sh  清单1:replace.sh 1 #!/bin/sh 2 file="mv.sh" #日志清理脚本 3 bak="mv" 4 replace="scp" 5 hostPath="/data/kuyin_new/musicsearch/bin/logs" 6 #hostList=(172.16.72.50 172.16.72.56 172.16.72.58 172.16.72.76 172.16.72.78 172.16.72.96 172.16.72.98) 7 hostList=(172.16.72.50) 8 for host in ${hostList[*]} 9 do10 bakCmd= "ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak" #先备份目标机器上的脚本,这里=之后多打了一个空格11 echo $bakCmd #这里先打印一下bakCmd命令,看一下12 #bash -c "$bakCmd"13 #replaceCmd="$replace $file ${host}:${hostPath}" #拷贝至目标机器14 #finalCmd="${bakCmd} ; ${replaceCmd}"15 #echo $replaceCmd16 #echo $finalCmd17 #bash -c "$finalCmd"18 done 执行脚本,运行结果如下:   多打了一个空格,之后bash replace.sh运行脚本,出现了不符合预期的情况:ssh 172.16.72.50 mv /data/kuyin_new/musicsearch/bin/logs/mv.sh /data/kuyin_new/musicsearch/bin/logs/mv.sh.bak(ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak经过变量替换后的结果) 命令竟然执行了!而我的初衷是用echo查看这个命令组合的是不是正确,这条命令并不会被执行。那么为什么会出现这种情况呢?   为了找出问题,可以通过bash -x replace.sh运行脚本。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。执行bash -x replace.sh,结果如下:      可以看出,replace.sh中的第10行被拆成了2条命令(黄色框和红色框共2条命令),因此ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak才会被执行。下面去掉第10行多出的空格,看一下效果。 2. 正常的replace.sh   清单2:replace.sh 1 #!/bin/sh 2 file="mv.sh" #日志清理脚本 3 bak="mv" 4 replace="scp" 5 hostPath="/data/kuyin_new/musicsearch/bin/logs" 6 #hostList=(172.16.72.50 172.16.72.56 172.16.72.58 172.16.72.76 172.16.72.78 172.16.72.96 172.16.72.98) 7 hostList=(172.16.72.50) 8 for host in ${hostList[*]} 9 do10 bakCmd="ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak"...

赞(0)adminadminunix 阅读(1868)去评论

学派吧-Linux下安装配置tomcat的详细介绍-linux教程

Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML 页面的访问请求。 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/jvm/ 将文件解压至jvm中,然后以root身份修改/etc/profile文件,在最后四行加入: export JAVA_HOME=/opt/jvm/jdk1.8.0_121 export JRE_HOME=${JAVA_HOME}/jre export CLASS PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 保存退出即可。 配置好环境变量后可使用sudo update-alternatives –config java 命令查看已有环境变量。 java -version测试JDK是否安装成功。 下面切入正题,安装配置tomcat。 1、下载tomcat: Core: zip (pgp, md5, sha1) tar.gz (pgp, md5, sha1) 进入tomcat官网点击download,下载zip或tar.gz这两项。 2、解压至/home/文件夹下 3、进入文件夹,加执行权限。命令: :~/apache-tomcat-9.0.0.M21/bin$ sudo chmod +x *.sh 4、 :~/apache-tomcat-9.0.0.M21/bin$ ./startup.sh 启动成功。 查看日志: :~/apache-tomcat-9.0.0.M21/logs$ cat catalina.out 打开浏览器,输入网址:localhost:8080进入主页。 以上就是Linux下安装配置tomcat的详细介绍的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1522)去评论
学派吧-利用ssh反向代理以及autossh实现从外网连接内网-linux教程-

学派吧-利用ssh反向代理以及autossh实现从外网连接内网-linux教程

前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛。但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使用外网的小土豪就没有办法进入内网。这时能不能有一个办法可以使得通过外网连接到内网的服务器呢?答案是有的,不过这里就需要以下条件:一台在外网能访问到的服务器。 1. 描述一下目前的机器状况,梳理梳理: 机器 IP 用户名 备注 A 10.21.32.106 gdut728 目标服务器,处于内网 B 123.123.123.123 root 外网服务器,相当于桥梁的作用 PS:123.123.123.123只是我随意起的,大家请别攻击别人的服务器啊啊啊 2. 解决方法: 通俗地说:就是在机器A上做到B机器的反向代理;然后在B机器上做正向的代理实现本地端口的转发 2.1 实现前的准备 每台都要安装ssh的客户端。 在这里我使用的是centos7,都自带ssh。如果是使用其他版本Linux,请手动Google一下咯。 2.2 介绍一下使用到的ssh参数: 反向代理 ssh -fCNR 正向代理 ssh -fCNL -f 后台执行ssh指令 -C 允许压缩数据 -N 不执行远程指令 -R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口 -L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口 -p 指定远程主机的端口 ******************区分大小写啊各位亲****************** 3. 首先在A上面操作: 建立A机器到B机器的反向代理,具体指令为 ssh -fCNR [B机器IP或省略]:[B机器端口]:[A机器的IP]:[A机器端口] [登陆B机器的用户名@服务器IP] 在这里我使用了B机器的7280端口,以及A机器的22端口,按照上面的指令就是这样子的操作 ssh -fCNR 7280:localhost:22 root@123.123.123.123 检验是否已经启动了可以使用ps aux | grep ssh指令来查看: 4. 接着在B上面操作: 建立B机器的正向代理,用来做转发,具体指令为 ssh -fCNL [A机器IP或省略]:[A机器端口]:[B机器的IP]:[B机器端口] [登陆B机器的用户名@B机器的IP] 按照第3那里输入的指令,这里的B机器的端口和上面的B机器的端口是一致的,端口1234的也是B机器的。 ssh -fCNL *:1234:localhost:7280 localhost 检验是否已经启动了可以使用ps aux | grep ssh指令来查看: 在此1234端口为本地转发端口,负责和外网进行通信,并将数据转发的7280这个端口,实现了可以从其他机器访问的功能。同时,*号表示可以接受任何IP的访问。 5. 展现奇迹的时候到了 至此我们都配置好了AB机器,那么我们就可以从一部外网的电脑登陆到内网里面去啦。鉴于我目前的电脑在内网,而服务器都是外网的(也就是配置的B机器),所以可以通过B机器连接到我内网的A中,具体指令为: ssh -p1234 gdut728@123.123.123.123 在此-p参数为指定登陆的IP,我们在上面指定了1234端口为转发端口,故用1234端口登陆,然后gdut728是内网A机器的用户名,123.123.123.123为外网B机器的IP地址。 6. 这种反向代理的方式是不稳定的 不幸的是这种ssh反向链接会因为超时而关闭,如果关闭了那从外网连通内网的通道就无法维持了,为此我们需要另外的方法来提供稳定的ssh反向代理隧道。 6.1 ssh每次重连都需要键入密码,故在此首先设置免密码登陆到内网 在内网的机器A上面执行: ssh-copy-id 内网用户名@外网IP -p指定转发的端口 按照之前我设定的端口,这个指令就是如下 ssh-copy-id gdut728@123.123.123.123 -p1234 那以后这台内网的A机器ssh登陆我外网的B机器就可以免密码登陆啦~检验是否已经可以使用免密码登陆可以使用如下指令来检验: ssh root@123.123.123.123 6.2 用autossh建立稳定隧道 centos7上没有默认安装autossh的,所以使用一下命令安装 yum install autossh 来看看具体的autossh的指令为 autossh -M 7281 -fCNR 7280:localhost:22 root@123.123.123.123 autossh的参数与ssh的参数是一致的,但是不同的是,在隧道断开的时候,autossh会自动重新连接而ssh不会。另外不同的是我们需要指出的-M参数,这个参数指定一个端口,这个端口是外网的B机器用来接收内网A机器的信息,如果隧道不正常而返回给A机器让他实现重新连接。 7. 最后配置在Linux上配置开机自动启动autossh,免去了重启Linux后要自己启动的autossh的麻烦 输入:...

赞(0)adminadminunix 阅读(1680)去评论
学派吧SVN+Apache+IF.svnadmin支持https实现web管理SVN -linux教程-

学派吧SVN+Apache+IF.svnadmin支持https实现web管理SVN -linux教程

阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的SVN迁移到Linux平台;这边经过测试成功,所以写个随笔记录一下 今天写的是CentOS7上搭建基于Apache,http访问的SVN Server;和IF.svnadmin实现web后台可视化管理SVN iF.SVNAdmin iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持) 2. 软件准备 安装相关软件包 安装过程如下:1.安装apache [root@localhost ~]# yum install httpd -y2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块) [root@localhost ~]# yum install mod_dav_svn subversion -y3.安装完成后可以通过如下命令查看是否安装成功 [root@localhost ~]# httpd -version[root@localhost ~]# svnserve --version [root@localhost ~]# ls /etc/httpd/modules/ | grep svnmod_authz_svn.so mod_dav_svn.so 3.在apache下配置svn [root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /var/www/svn #svn的根目录SSLRequireSSL #SSL访问权限 AuthType Basic #Basic认证方式 AuthName "Authorization SVN" #认证时显示的信息 AuthUserFile /var/www/svn/passwd #用户文件&密码 AuthzSVNAccessFile /var/www/svn/authz #访问权限控制文件 Require valid-user #要求真实用户,不能匿名 </Location> 3. 建立SVN Server仓库 通过如下命令建立svn仓库 其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库 [root@localhost ~]# mkdir /var/www/svn [root@localhost ~]# svnadmin create /var/www/svn/sungeek [root@localhost ~]# ls /var/www/svn/sungeek ---> conf db format hooks locks README.txt [root@localhost ~]# chown -R apache.apache /var/www/svn 创建用户文件passwd和权限控制文件authz...

赞(0)adminadminunix 阅读(2086)去评论

学派吧-Linux如何检测服务器网络状况-linux教程

这篇文章主要介绍了Linux 检测服务器是否连接着网络的相关资料,需要的朋友可以参考下 Linux 检测服务器是否连接着网络 摘要: 每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由于自己有一台服务器放在偏远的老家,有可能会遇到停电导致断网的问题,并且停电后UPS使用时间也有限制, 因此设计此脚本为了解决停电的时候服务器突然断电引起的各种问题,当停电后网络也就不通了,此时需要自动关闭服务器. 当然,来电后需要手动启动服务器!!! #!/bin/bash # 检测服务器是否连接着网络,如果网络不通 则 3次后 关机 # crontab -e # */5 * * * * ./check.sh echo "Starting test network was clear..." if test -e ./checkInfo then echo "CheckInfo File Exist..." else cat /dev/null > ./checkInfo fi last_res=`head -1 ./checkInfo` checkInternet(){ ping_res=1 for url in "8.8.8.8" "61.139.2.69" "114.114.114.114" "168.95.1.1" "223.5.5.5" "180.76.76.76" do echo "PING ${url}" ping=`ping -c 3 ${url}|awk 'NR==7 {print $4}'` if [ ${ping} -eq 0 ] then ping_res=1 else ping_res=2 fi if [ ${ping_res} -eq 2 ] then break fi done return ${ping_res} } checkInternet result="$?" if [ ${result} -eq 1 ] then if [ "${last_res}" = "1" ] then echo "2" > ./checkInfo elif [ "${last_res}" =...

赞(0)adminadminunix 阅读(1447)去评论

学派吧-详解介绍Nginx中worker connections问题-linux教程

这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !! 原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。 所以,当你修改提高了配置文件中的worker_connections值,然后重启nginx,你就会在日志里发现,最前面我们讲到的这一个warn警告提示,大概的意思就是: 20000并发连接已经超过了打开文件的资源限制:1024!在这种情况下,我们就要修改配置文件,添加一行来解除这个限制,这就好像是apache中的ServerLimit。 打开配置文件在"event"这行上面添加这一行: worker_rlimit_nofile xxxxx; ####Specifies the value for maximum file descriptors that can be opened by this process. 注意:设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值,不然又会有前面的那个warn提示。 保存配置文件,退出重启nginx。 如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式: 最大连接数 = worker_processes * worker_connections/4 查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。 【相关推荐】 1. Linux免费视频教程 2. 布尔教育Linux优化视频教程 3. linux中使用yum安装Nginx的实例详解 4. 教你如何在Linux中安装Nginx服务器 5. 详细介绍Linux的wget命令 以上就是详解介绍Nginx中worker connections问题的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1762)去评论

学派吧-linux中使用yum安装Nginx的实例教程-linux教程

这篇文章主要给大家介绍了在CentOS 7中利用yum安装Nginx的方法教程,文中给出了详细的步骤介绍,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 前言 因为最近在筹备Docker系列课程,其中涉及到在CentOS 7中安装Nginx。遇到一些问题,所以想着将过程总结分享出来供大家参考学习,下面来看看详细的介绍: 当使用以下命令安装Nginx时,发现无法安装成功。 yum install -y nginx 需要做一点处理。 安装Nginx源 执行以下命令: rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。 安装Nginx 安装完Nginx源后,就可以正式安装Nginx了。 yum install -y nginx Nginx默认目录 输入命令: whereis nginx 即可看到类似于如下的内容: nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx 以下是Nginx的默认路径: (1) Nginx配置路径:/etc/nginx/ (2) PID目录:/var/run/nginx.pid (3) 错误日志:/var/log/nginx/error.log (4) 访问日志:/var/log/nginx/access.log (5) 默认站点目录:/usr/share/nginx/html 事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。 常用命令 (1) 启动: nginx (2) 测试Nginx配置是否正确: nginx -t (3) 优雅重启: nginx -s reload 该命令与以下命令类似: kill -HUP nginx进程号 当然,Nginx也可以手动编译安装,步骤相对要繁琐一些,总的来说,还是比较简单的,本文不作赘述。 总结 【相关推荐】 1. Linux免费视频教程 2. 布尔教育Linux优化视频教程 3. Linux教程 4. 教你如何在Linux中安装Nginx服务器 5. 详细介绍Linux的wget命令 以上就是linux中使用yum安装Nginx的实例详解的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1538)去评论

学派吧-详细介绍Linux的wget命令-linux教程

这篇文章主要为大家详细介绍了Linux的wget命令,教大家如何使用wget,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。 1、使用wget下载单个文件 以下的例子是从网络下载一个文件并保存在当前目录 wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。 2、使用wget -O下载并以不同的文件名保存 wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。 错误:下面的例子会下载一个文件并以名称download.php?id=1080保存 wget http://www.centos.bz/download?id=1 即使下载的文件是zip格式,它仍然以download.php?id=1080命令。 正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名: wget -O wordpress.zip http://www.centos.bz/download.php?id=1080 3、使用wget –limit -rate限速下载 当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。 wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 4、使用wget -c断点续传 使用wget -c重新启动下载中断的文件: wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。 5、使用wget -b后台下载 对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。 wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip Continuing in background, pid 1840. Output will be written to `wget-log'. 你可以使用以下命令来察看下载进度 tail -f wget-log 6、伪装代理名称下载 有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过–user-agent参数伪装。 wget –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16″ 下载链接 7、使用wget –spider测试下载链接 当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加–spider参数进行检查。 wget –spider URL 如果下载链接正确,将会显示 wget –spider URL Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled — not retrieving. 这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误 wget –spider...

赞(0)adminadminunix 阅读(1914)去评论
学派吧-教你如何在Linux中安装Nginx服务器(图文)-linux教程-

学派吧-教你如何在Linux中安装Nginx服务器(图文)-linux教程

学派吧-这篇文章主要为大家详细介绍了Linux中Nginx的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux下Nginx安装教程分享,具体内容如下 1、安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 2、安装PCRE,Nginx的rewrite的伪静态匹配规则需要用到正则表达式,PCRE就是起到这个作用。 下载地址:downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz 如果wget没有安装的话,需要先安装wget,yum -y install wget. wget是Linux环境下的下载工具。wget命令的使用见此文章 3、解压pcre安装包:tar -zxvf pcre-8.35.tar.gz 4、进入安装目录,编译安装   cd pcre-8.35   ./configure   make && make install 5、查看pcre版本   pcre-config –version 6、下载Nginx   wgethttp://nginx.org/download/nginx-1.6.2.tar.gz 7、解压并进入安装包 8、编译安装 ./configure –prefix=/usr/local/webserver/nginx –with-http_stub_status_module –with-http_ssl_module –with-pcre=/usr/local/src/pcre-8.35 make make install 9、查看Nginx版本 10、Nginx配置   1)、创建Nginx 运行使用的用户      /usr/sbin/groupadd www      /usr/sbin/useradd-g www www   2)、配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容    user www www; worker_processes 2; #设置值和CPU核心数一致 error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别 pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; #charset gb2312; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4...

赞(0)adminadminunix 阅读(1668)去评论

学派吧-关于Linux CentOS OpenVPN配置概述的具体教程-linux教程

本文概要说明 CentOS 系统下的 OpenVPN 配置。 说明:本文相关配置和说明仅用于示例和操作指引,阿里云不对相关操作结果及由此产生的问题负责。 OpenVPN 配置 准备工作 安装 OpenVPN 服务 配置 OpenVPN 服务(服务端) 启动 OpenVPN 准备工作 1. 使用 工具:update_source.sh 更新 yum 源为阿里云的内网 yum源。 2. 安装依赖的软件包: bashyum install -y lzo lzo-devel openssl openssl-devel pam pam-devel yum install -y pkcs11-helper pkcs11-helper-devel 确认已经安装完成: bashrpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel 安装 OpenVPN 服务 1. 下载 openvpn 的源码包 wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz 2. 使用 rpmbuild 将源码包编译成rpm包来进行安装 rpmbuild -tb openvpn-2.2.2.tar.gz 执行这条命令以后就会正常开始编译了,编译完成以后会在 /root/rpmbuild/RPMS/x86_64 目录下生成 openvpn-2.2.2-1.x86_64.rpm 安装包。 3. 执行rpm -ivh openvpn-2.2.2-1.x86_64.rpm 以rpm包的方式安装: 配置 OpenVPN 服务(服务端) 1. 初始化 PKI cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 进入到 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 目录下,找到 vars 证书环境文件,修改以下几行 export 定义的参数值 bashexportKEY_COUNTRY="CN" 所在的国家export KEY_PROVINCE="BJ" 所在的省份exportKEY_CITY="Hangzhou" 所在的城市exportKEY_ORG="aliyun" 所属的组织 export KEY_EMAIL=my@test.com 邮件地址 上述参数的值可以自定义设置,对配置无影响。 2. 生成服务端的证书: 清除并删除 keys 目录下的所有 key bashln -s openssl-1.0.0.cnf openssl.cnf 做个软链接到openssl-1.0.0.cnf配置文件 source ./vars./clean-all 生成 CA 证书,刚刚已经在 vars 文件中配置了默认参数值,多次回车完成就可以...

赞(0)adminadminunix 阅读(2276)去评论

学派吧-使用Linux Ubuntu服务器VPN配置的教程(图)-linux教程

本文概要说明 Ubuntu 系统下的 VPN 配置示例。 说明:本文相关配置和说明仅用于示例和操作指引,阿里云不对相关操作结果及由此产生的问题负责。 服务端配置 1. 登录服务器,安装 pptpd: sudo apt-get install pptpd 2. 修改配置文件: 1) /etc/pptpd.conf $ sudo vi /etc/pptpd.conf# 在 TAG: localip 后面添加如下内容localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 2) /etc/ppp/pptpd-options sudo vi /etc/ppp/pptpd-options# 删除 #ms-dns 前面的#号# 修改DNS server: 223.5.5.5 3) 在 /etc/ppp/chap-secrets 中,添加账号、服务器名、密码和IP限制。比如: user pptpd userpasswd * 4) /etc/sysctl.conf 删除 #net.ipv4.ip_forward=1 前的#号,开启ipv4 forwardsudo sysctl –p #若运行后显示 net.ipv4.ip_forward = 1,表示修改生效了。 5) 使用 iptables 建立一个 NAT: sudo apt-get install iptables iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE# eth0 代表网卡,可以通过命令 ifconfig 查看 6) /etc/network/interfaces # 在eth0/eth1.. 下面加入如下内容pre-up iptables-restore < /etc/iptables-rules 3. 重启 pptpd 使配置生效 sudo /etc/init.d/pptpd restart VPN 客户端配置 1. 查看本地外网 IP 地址 curl http://members.3322.org/dyndns/getip 2. 安装 pptp 客户端软件 3. 初始化一个 VPN 连接通道: sudo pptpsetup --create test --server...

赞(0)adminadminunix 阅读(2819)去评论

学派吧-在Linux下安装FTP及添加用户的实例教程-linux教程

本篇文章主要介绍了详解CentOS6.8 安装FTP及添加用户 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一 安装FTP 1 检测是否已经安装FTP rpm -qa | grep vsftpd 2 若没有,则进行安装 yum install vsftpd 二 设置vsftpd开机启动 chkconfig --level 35 vsftpd on 三 配置FTP服务器(开启基于用户的访问控制) 1 配置文件的修改 vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO # 是否开启匿名登录 local_enable=YES # 是否允许本地用户登录 write_enable=YES # 是否允许上传 local_umask=022 # 默认的umask码 diremssage_enable=YES # 是否显示目录说明文件 xferlog_enable=YES # 是否记录ftp传输过程 connect_from_prot_20=YES # 是否确定端口传输来自20 xferlog_ftd_format=YES # 是否使用标准的ftp xferlog模式 chroot_list_enable=YES # 是否将系统用户限制在自己的home目录下 chroot_list_file=/etc/vsftpd/chroot_list # 列表不受限制的用户 listen=YES # 是否开启监听 pam_service_name=vsftpd # 服务名称 userlist_enable=YES tcp_wrappers=YES 2 修改selinux getsebool -a | grep ftp 若报错,getsebool: SELinux is disabled。则 vim /etc/selinux/config 修改 SELINUX=1。 然后重启LINUX,"shutdown -r now" 立刻重启(root用户使用)。 重新执行 "getsebool -a | grep ftp"。 修改selinux,允许用户在家目录写入数据 setsebool -P allow_ftpd_anon_write off setsebool -P ftp_home_dir on 四 创建虚拟用户 1 创建一个用户,然后修改用户的登陆shell为nologin,让用户不能登陆系统,只能使用ftp之内的服务 useradd -d /home/www/test -g ftp -s /sbin/nologin test # 指定用户 test 属于组 ftp,只能访问的目录是...

赞(0)adminadminunix 阅读(1730)去评论

更好的服务器推荐选择

本站主要用于阿里云、腾讯云、华为云服务器活动的推荐及优惠购买方式、并搜集服务器运维的日常解决方案!

联系我们联系我们

登录

找回密码

注册