手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 免费部署 N8N 的 Zeabur 注册 | 登陆
浏览模式: 标准 | 列表分类:苹果相关

经常打不开WEB?

最近单位的服务器好象经常出点事,苦于没有运维啊。灰常痛苦。
症状如下,先是网通的朋友说打不开,后来能打开,然后在公司里全部能够打开,河北人民告诉我,电信3G能打开,网通不行,南方的人民告诉我打得开。然而,唯一让人郁闷的是老板打不开。。。

不知道什么原因,然后因为服务器是做了LVS负载均衡,理论上应该没事,web服务器中php的进程也很正常。两台WEB服务器的nginx配置文件检查了一下,没发现啥问题,后来用tail /xxx/xxx/xxx.log看了一下,居然报配置文件出错,打开文件一看,居然有一行被注释的内容断行了,造成部分内容没有被注释,引起了错误,于是删除并重启nginx。

再后来就正常了,可是到晚上,又突然有人说出现502错误了,象这种情况,大多数是php-cgi进程要么超时,要么数量不够要么。。。苦于没有运维,我唯一能做的就是重启了一下WEB(一些配置文件都不在家,否则可以尝试只重启nginx和php-cgi)。

有人问过我为什么不升级到php5.3,说实话,我真的很想升啊。可惜用的代码中,有部分关键代码占用了5.3的关键字(好象以前在博客里说过,函数名居然叫namespace。于是,我傻眼了)

ThinkInLamp群中的hm说5.3自带的fastcgi好象不太稳定,反正我也没法升级,就随便看着喽(想着他们居然有时间有精力看nginx等的源码,心里就觉得非常佩服)

-------------

越往后越发现自己的能力欠缺,比如说开发都要了解linux的常规操作,但事实上,常规操作都会了,但一些更深层次的不深入也不行啊。不再深入一点,就无法真正从底层上进行性能调优等(纯PHP代码的调优,终究是有限度的)

为ubuntu 10的php版本降级

一键式安装PHP果然还是有问题的,不是说程序有问题,而是说版本。其实在9.10的时候,PHP已经被ubuntu默认为5.3了。这就让人很痛苦了,现在很多程序在5.3下跑不起来。怎么办?降级喽。还能怎么办?
这里有很多方式,不过,我还是建议使用第一种,最方便不过了:http://2bits.com/drupal-planet/various-ways-running-php-52-ubuntu-1004-lucid-lynx.html
第一种是这样的,先搞一个脚本运行一下:

XML/HTML代码
  1. #!/bin/sh  
  2.   
  3. # Script to install PHP 5.2 from 9.10 on 10.04  
  4. # And pin it so it does not get updated  
  5.   
  6. PKGS=`dpkg -l | grep php | awk '{print $2}'`  
  7.   
  8. apt-get remove $PKGS  
  9.   
  10. sed s/lucid/karmic/g /etc/apt/sources.list |   
  11.   tee /etc/apt/sources.list.d/karmic.list  
  12.   
  13. mkdir -p /etc/apt/preferences.d/  
  14.   
  15. for PACKAGE in $PKGS  
  16. do  
  17.   echo "Package: $PACKAGE  
  18. Pin: release a=karmic  
  19. Pin-Priority: 991  
  20. " | tee -a /etc/apt/preferences.d/php  
  21. done  
  22.   
  23. apt-get update  
  24.   
  25. apt-get install $PKGS  

这时候,其实最后一步经常会失败。。(因为他的安装顺序可能不是php5-common在第一个)
因此在运行完第一句PKGS后,可以Echo $PKGS > xxx.php.list ,将它输出到一个文件里。如果最后一步失败了,再把这个PKGS导出的变量查看一下,再尝试重新install。避免有遗漏。

这里还介绍了drupal在安装的时候的一些问题:http://randyfay.com/node/63,上面的链接其实就是从这篇文章里找到的。(我不建议用randyfay.com里的源,速度还是比较慢的,如果你原来的源速度很快,那就不要换了,直接用上面的脚本吧。)以前就说过。网易的源还是不错的。。可以加上去喽。

Tags: ubuntu, php

Ubuntu samba添加用户

今天在配置samba服务,发现网上的资料,基本上都过时了。当然也可能是因为我用的是ubuntu的版本,和其他版本不一样?
又或者,我的版本比较新,所以,资料都不一样了?

在ubuntu下面。安装Samba还是很方便的,比如apt-get install samba就解决了这个问题。

添加用户,关于这个玩意找了很多资料,都是说cat 系统的passwd文件,利用mksmbpasswd.sh导入到samba系统中,结果。我没发现有这个文件。。。所以直接就失败了。

最后是通过:

adduser xxx
smbpasswd -a xxx

通过这样的方式来添加用户。如果直接smbpasswd -a xxx是不行的(一定要系统中有这个用户存在才行)

然后就是修改/etc/samba/smb.conf文件了。
[www]
comment = www
path = /var/www
public = yes
guest ok = no
writable = yes

然后就是:service smbd restart,或者/etc/init.d/smbd restart (运行这个的时候,会提示你使用service smbd restart的。)

之所以写这个,是因为所有的资料里介绍的什么/etc/init.d/samba restart这类都不起作用了,现在是smbd。。。

其实在去年3月份已经做过笔记了,只是笔记中的samba restart已经不对了。所以。。。再写一篇。

去年:笔记:在Ubuntu中设置samba共享可读写文件夹

Tags: ubuntu, samba

笔记:svn之目标机器积极拒绝

在以前的博客文章里也介绍了怎么安装svn的,昨天我又重装了一下,不过是按照网上的教程来装的。所以遇到了点问题,那就是:目标机器积极拒绝。
安装过程如下:
$apt-get update
$apt-get install subversion
$mkdir /var/svn/
$useradd svn
$passwd svn
$chown -R svn:svn /var/svn
$svnadmin create /var/svn/test
$vim /var/svn/test/conf/svnserve.conf
把几个注释去掉。。。。
$vim /var/svn/test/conf/passwd
添加用户
$vim /var/svn/test/conf/authz
增加权限
$svnserve -d -listen-port 9999 -r /var/svn
表面上看来没什么问题。但事实上连接的时候就是目标机器积极拒绝。。
仔细想了想,应该没什么问题。看了一下进程,也确实存在 svnserve:ps -ef|grep svnserve
那问题出来哪里呢?突然想到-listen-port ,会不会端口的问题?于是杀掉进程后
$svnserve -d -r /var/svn
然后就可以连上了。。
做个记录

Tags: svn, subversion, ubuntu

资料:rsync

服务器同步,最简单的恐怕就是rsync了。如果是同一机房,如果是ubuntu,那就真的是灰常灰常简单啊。apt-get install rsync就over了。当然配置还是需要自己来的。
找的资料居然是百度百科的。好郁闷啊。不过。。。还是COPY一份了(话又说回来,现在百度百科在人肉整理+金钱攻势下,资料也真的是越来越完善了。只是不知道啥时候会把RFC也帮忙全部汉化一下吧。比如大家关心的tcp/ip,http协 议等,是不是也该整个汉化的版本之类的?【或许已经有了只是没有注意过罢了】)
原文:http://baike.baidu.com/view/1183189.htm
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:

  1. 可以镜像保存整个目录树和文件系统。
  2. 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
  3. 无须特殊权限即可安装。
  4. 优化的流程,文件传输效率高。
  5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
  6. 支持匿名传输,以方便进行网站镜象。

软件下载
rysnc的主页地址为:http://rsync.samba.org/ ,目前最新版本为3.0.7。可以选择从原始网站下载:http://rsync.samba.org/ftp/rsync/。
安装
Ubuntu安装: sudo apt-get install rsync
RedHat: yum install rsync
编译安装
rsync的编译安装非常简单,只需要以下简单的几步:
[root@www rsync-2.4.6]# ./configure
[root@www rsync-2.4.6]# make
[root@www rsync-2.4.6]# make install
但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。
rsyncd.conf
rsync服务器的配置文件是rsyncd.conf.
以下是一个rsyncd.conf的样本:
# Distributed under the terms ofthe GNU General Public License v2
# Minimal configuration file for rsyncdaemon
# See rsync(1) and rsyncd.conf(5) man pagesfor help
# This line is required by the/etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
uid = root
gid = root
use chroot = yes
read only = yes
max connections = 5
#This will give you a separate log file
#log file = /var/log/rsync.log
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[test]
path = /home/nemo
list=yes
ignore errors
auth users = root, nemo
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir home
exclude = tmp/
各个参数具体含义参见man rsyncd.conf
服务器端启动:
usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
可能需要root权限运行.
/etc/rsyncd/rsyncd.conf 是你刚才编辑的rsyncd.conf的位置.
也可以在/etc/rc.d/rc.local里加入让系统自动启动等.
客户端同步:
rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径 如:
rsync -avzP nemo@192.168.10.1::nemo /backup
说明:
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

扩展阅读: 
  1. http://chenzhuo.blog.51cto.com/150592/269530 rsync配置实例

现在,windows下面也有rsync客户端了。。。

Tags: rsync, linux