记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
记一次莫名其妙的网站失去响应排查。之前网站一直是使用nginx做代理后端的apache运行php来提供服务。apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现"504 Gateway Time-out"查看错误日志也看不到任何东西,以为是apache的bug(其实不是,下面会说原因)。也许年龄大了人就不爱折腾,愿意保持原状不动,使用监控工具,每次收到报警后都重新启动apache勉强维持着。终于有一天我烦了,不就是处理php吗,我不用apache总行了吧,一怒之下使用源安装php-fpm转移到php-fpm来运行php。安装php并不麻烦,使用源安装还是很顺利的,唯一需要做的就是设置php worker工作进程的日志输出php错误日志。一切准备就绪后把原来的proxy_pass换成fastcgipass就可以了。upstream apachephp { server www.quancha.cn:8080; #Apache1} ....proxy_pass http://apachephp;替换成成upstream php { server 127.0.0.1:9000;} ...fastcgi_pass php;就可以把apache上跑的php迁移到php-fpm上来跑。原以为这样就可以高枕无忧了,迁移完成是也确实没什么问题,但是如果你不去分析问题...
ERROR 2003 (HY000): Can't connect to MySQL server on 从一台服务器去连接另一台服务器的mysql提示如下错误ERROR 2003 (HY000): Can't connect to MySQL server on 'www.neihanji.com' (111)注释掉/etc/mysql/my.conf中以下两条#skip-networking#bind-address = 127.0.0.1重启mysql服务service mysql restart
早上访问www.nginx.cn,页面提示“建立数据库连接时出错”机器环境跑的是nginx+php-fpm+mysql、出问题之前也没做过停止mysql进程的操作。突然间数据库连接出错,开始以为php的问题,那么我在命令行直接访问mysqlmysql -u root -p出现错误提示2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)mysql进程自己退出了,使用如下指令确认mysql进程不在了。ps -ef | grep mysql看不到mysql进程mysql进程不在,尽快回复服务的想法,就是重启服务/etc/init.d/mysql start Rather than invoking init scripts through /etc/init.d, use the service(8)utility, e.g. service mysql start启动不成功,提示我换一种方式启动,但是仍然启动失败sudo service mysql startstart: Job failed to start然后查看配置文件里mysql的错误日志文件位置/var/log/mysql/error.log里面什么都没有。正当我挠头的时候,这时候我想起磁盘空间可能满了,查看了一下果然满了df -ahFilesystem Size Used Avail Use% Mounted on/dev/xvda2 6.9G 6.7G 0 100% /proc 0 0 0 - /procnone 0 0 0 - /sysnone 0 0 0 - /sys/fs/fuse/connectionsnone 0 0 0...
nginx反向代理配置nginx作为web服务器一个重要的功能就是反向代理。当然你也可以使用nginx配置正向代理,本是介绍如何配置nginx的反向代理。nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。配置前的准备工作,后端跑apache服务的ip和端口,也就是说可以通过http://ip:port能访问到你的网站。然后就可以新建一个vhost.conf,加入如下内容,记得修改ip和域名为你的ip和域名。修改nginx.conf,添加 include quancha.conf 到http{}段, reload nginx就可以了。nginx反向代理模板## Basic reverse proxy server #### Apache backend for www.quancha.cn ##upstream apachephp { server ip:8080; #Apache} ## Start www.quancha.cn ##server { listen 80; server_name www.quancha.cn; access_log logs/quancha.access.log main; error_log logs/quancha.error.log; root html; index ...
rsync安装目前rsync的最新版本是3.0.9wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gztar -xvzf rsync-3.0.9.tar.gz; cd rsync-3.0.9;./configure; make; make installrsync服务器端配置1.vi /etc/rsyncd.conf(需要手动生成)rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数#运行RSYNC守护进程的用户uid = root#运行RSYNC守护进程的组gid = root#不使用chrootuse chroot = no#最大连接数是4max connections = 4#pid文件存放位置pid file = /var/run/rsyncd.pid#锁文件存放位置lock file = /var/run/rsync.lock#日志文件存放位置log file = /var/log/rsyncd.log[logs]#要同步的目录path = /usr/local/lnmp#忽略无关的IO错误ignore errors#只读,不能上传read only = true#禁止查看文件列表list = false#允许访问服务的ip#hosts allow = 192.168.1.200#禁止访问服务的ip#hosts deny = 0.0.0.0/32#认证的用户名,系统必须存在的用户,但是密码需要在secrets file 配置,不是系统的密码。auth users = root#认证用户密码文件,配置auth users的密码secrets file = /etc/backserver.pas2.rsync密码文件是以冒号分隔的明文。每个用户一行,前面是用户名...
XenServer 6.x网络不稳定、丢包严重两台戴尔R720XD服务器,每台服务器配有12个网口,用于运行虚拟化服务。虚拟化软件我安装的是Citrix XenServer 6.0版本,在使用过程中,发现运行在XenServer上的虚拟机的网络很不稳定,间歇性的相互不能访问,要么ping时丢包率很高。网络情况如此糟糕,基本上没法使用了,为此打电话分别找戴尔和Citrix(我们是Citrix的客户)的技术支持,最终得到解决方案。首先检查XenServer的网络模式:view plain copy# cat /etc/xensource/network.conf openvswitch XenServer 6.0安装成功后,其网络连接模式默认为“openvswitch”,正是在此工作模式下,出现虚拟机网络不稳定的情况。Citrix工程师建议将网络连接模式改为“bridge”(桥模式),XenServer 5.6使用的就是该网络模式,所以网络很稳定。更改网络连接方式的命令为:view plain copy# xe-switch-network-backend bridge 更改网络模式后,必须重启XenServer服务器才能生效。如果要切换回默认的“openvswitch”工作模式,则执行下述命令(同样要重启服务器):view plain copy# xe-switch-networ...
I3 530处理器(不是sandybridge),用的是CPU中的Intel HD显卡,Server 2008 R2 添加Hyper-V角色之后,再开机过程中出现蓝屏,相信其它朋友也应该有类似经历,只能进入安全模式,在设备管理器中卸载Intel HD显卡驱动,然后重启才恢复正常开机。也就是说Hyper-V与Intel HD显卡有冲突,两者不可兼有。另外在网上查阅过,其他朋友的ATI显卡和Geforce显卡也有类似情况,看来微软的Hyper-V是与很多主流显卡不能相容的。最近在网上找到了解决方案:安装Server 2008 R2的Service Pack 1之后一起恢复正常。但是我的是Intel HD显卡,其它显卡没有测试,希望朋友们回帖反馈结果。hyper-v与AMDI显卡驱动冲突导致win2008R2开启虚拟化后蓝屏台式机上安装hyper-v可以正常使用intel的cpu虚拟化功能,但在笔记本上就出现问题了: 笔记本是sony的E3定制机,i7 640M,AMD5650显卡,win2008R2可以正常安装,也可以安装hyper-v角色,但bios里只要一开启VT,进系统滚动条后必定蓝屏。 到网上搜了一下,开始怀疑是sony禁用了VT功能,因为早期的vaio本本曾禁用过,但那时候禁用是bios根本找不到打开VT的选项,现在是bios可以看到打开VT的选项,因此应该不是这个原因。 再就是有办法说要...
Squid是全功能的HTTP/1.0代理服务器,也近乎完整的兼容HTTP/1.1。Squid提供丰富的访问控制、认证和日志环境用以网站代理服务器和内容服务应用。本文简单介绍了如何架设一台透明Squid代理服务器。Squid可用于HTTP,HTTPS,FTP等网站的缓存代理服务器。它能通过缓存和重用那些经常被访问的网页l来降低带宽,改善反应速度。Squid有很强的访问控制,是一个出色的服务器加速器。安装Squid安装squid和squid-commonsudo aptitude install squid squid-common编辑squid配置文件sudo vi /etc/squid/squid.conf设置允许的网站acl internal_network src 192.168.1.0/24http_access allow internal_network上面的192.168.1.0/24是指你的IP范围。设置正确的权限sudo chown -R proxy:proxy /var/log/squid/sudo chown proxy:proxy /etc/squid/squid.conf需要重启生效sudo /etc/init.d/squid restart现在打开网页浏览器,设置代理服务器为新的squid服务器,端口为3218认证如果要给squid代理服务器添加认证功能,你需要安装apache2 utilitiessudo aptitude install squid squid-common apache2-utils添加第一个用户,你需要指定-csudo htpasswd -c /etc/squid.passwd first_user以后再添加用户...
在网上查了不少Squid中设置流量限制的文章,要么东抄西抄,语焉不详,要么翻译的不知所云,英文文档又讲的太理论,太繁琐。其实,这方便对我们一般网络管理员来说就那么几项设置有用,所以自己归纳总结了一些相关的知识和技巧。Squid控制访问带宽的架构是这样的,首先,你可以定义一个或几个pool(池)来操控里面的流量,而你要为每个pool定义它们的class(类型),类型其实就是决定控制那些主机流量的范围,类型分为以下几种:class定义:class类型1表示只对pool设置相关总流量(这样比较好理解,不要加入什么bucket的概念)class类型2表示既对pool设置总量控制,也为C类网段中的每个IP地址流量class类型3表示既对pool设置总量控制,也为B类网段中的每个C类网段中的每个IP地址设置流量最后就是对建立的pool设置它们的流量控制,整个过程是这样:先在squid.acl.config文件中定义你允许哪些主机使用你的代理(这部分不属于带宽设置):acl myteam src 172.16.23.108/32 172.16.23.53/32acl mynet src 172.16.23.108/32 172.16.23.53/32http_access allow myteamhttp_access allow mynet接下来进行带宽设置:delay_pools 2 #假设你设置两个pools来分别管理两个不同的网段
&nbs...
最新评论