since.2006  

Linode LEMP安装指南中安装的LEMP只是一个能用的状态,正式使用还需要配置一些参数。

vi /etc/nginx/nginx.conf

    worker_rlimit_nofile 65535;    

    events {
        # linux 2.6版本以后使用epoll性能会提升较大
       use epoll;
       worker_connections 65535;
    }
    
    # 开启gzip压缩
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml application/json;
    gzip_vary on;
    
    # php fastcgi相关配置
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 8 128k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
Posted by hee at 20:11 PM | Permalink | 评论(0)

如果vps是个人使用,完全可以没必要装ftp,上传文件可以用winscp搞定。但有时候要帮朋友放个小站而又不希望开放太多的权限时ftp就派上用场了,这次选中的ftp服务器是vsftp,支持虚拟用户,可以限制虚拟用户访问目录,这两个功能正是俺需要的。

登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

  • 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
  • 本地用户登录:使用系统用户登录,在/etc/passwd中。
  • 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

虚拟用户登录+本地数据文件正好实现俺要的需求。

安装vsftp:

[root@TokyoHot ~]# yum install vsftpd

添加虚拟用户:

[root@TokyoHot ~]# vi /etc/vsftpd/vftpuser.txt

内容:

kaede       # 用户名
123456     # kaede的密码
SolaAoi      # 用户名
456789     # SolaAoi的密码

将vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件:
如果没有安装db4-utils要先安装一把:

[root@TokyoHot ~]# yum install db4-utils

转换成系统识别的口令认证文件:

[root@TokyoHot ~]# db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

编辑vsftpd的PAM认证文件:

[root@TokyoHot ~]# vi /etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

配置vsftpd.conf(设置虚拟用户配置项):

[root@TokyoHot ~]# vi /etc/vsftpd/vsftpd.conf

内容:

anonymous_enable=NO #禁用匿名用户
guest_enable=YES #开启虚拟用户
guest_username=ftp #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
anon_world_readable_only=NO #开放虚拟用户下载权限
anon_upload_enable=YES #开放虚拟用户上传权限
anon_mkdir_write_enable=YES #开放虚拟用户创建目录的权限
anon_other_write_enable=YES #开放虚拟用户删除和重命名的权限
user_config_dir=/etc/vsftpd/vsftpd_user_conf #具体每个虚拟用户的配置信息存放目录
anon_umask=022 #新建的目录 权限是755,文件的权限是 644

上面配置中的guest_username=ftp,其中ftp是系统中已经存在的用户名,centos默认已经创建了这个用户。

配置具体某个虚拟用户的信息(文件名和用户名一致):

[root@TokyoHot ~]# vi /etc/vsftpd/vsftpd_user_conf/kaede

内容:

local_root=/srv/www #限制kaede的访问目录只能是/srv/www目录

配置完成,重启下ftp服务器测试。

 

Posted by hee at 21:11 PM | Permalink | 评论(0)

还是先参考linode知识库的安装指南 :-)

http://library.linode.com/lemp-guides/centos-5

不过文章中安装php-fastcgi处只将php-fastcgi设置为开机自动启动,而漏了启动php-fastcgi本身了,导致在后面测试php时,nginx一直报"502 Bad Gateway"错处,查找了半天才发现问题。

启动一下再测试。
#/etc/init.d/php-fastcgi start

直接使用安装指南中的配置,还会有一些小问题。比如上传文件大于1M多时,Nginx报“Nginx: 413 Request Entity Too Large Error”。

可以在站点配置的server块下加入:
client_max_body_size 20M; # 设置客户端最大能上传文件大小

@2011-11-19:参考安装指南中方法安装,php不支持gd库。

通过下面命令安装即可:

yum install php-gd
/etc/init.d/php-fastcgi restart

@2012-03-06:晕,隔一段时间没接触这方面内容现在又全忘了,以后多记点方便要配置时查阅。

默认php.ini配置文件路径/etc/php.ini

查找php.ini配置文件路径:

[ho@nikita ~]$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Posted by hee at 20:11 PM | Permalink | 评论(0)

上一篇blog中根据linode的知识库中指南用yum安装的LAMP各应用版本太低,装了个phpMyAdmin,提示需要PHP 5.2+以上的环境,目前默认的yum源里php版本为:5.1.6,mysql版本为5.0.77。

升级方法比较简单:添加一个第三方的源,update一下就OK了。

运行:
# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

创建一个新文件:
# vi /etc/yum.repos.d/utterramblings.repo

内容为:

[utterramblings] 
name=Jason's Utter Ramblings Repo 
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

更新程序:
# yum update php
# yum update mysql

phpMyAdmin还需要服务器安装php-mcrypt,不然提示“缺少 mcrypt 扩展。请检查 PHP 配置。”和“没有找到 PHP 扩展 mbstring……”
# yum install php-mcrypt
# yum install php-mbstring

升级完成后,PHP版本为:5.2.17,MySQL版本为:5.1.58

如果升级了MySQL,并且以前修改过my.cnf,还需要重新编辑下my.cnf:

“在Mysql 5.1.50版中已经废除了skip-bdb参数,而skip-locking改为了skip-external-locking,skip-innodb改为了loose-skip-innodb。”

修改完成后,运行一下mysql_upgrade:
# mysql_upgrade -u root -p

Posted by hee at 17:10 PM | Permalink | 评论(0)

据说LEMP(Linux + Nginx + Mysql + Php)在小内存服务器下性能更好,相对来说对Apache还是熟悉一点,本着不折腾的原则还是首选Apache。9_9

可以直接参考linode知识库里的安装指南:

http://library.linode.com/lamp-guides/centos-6

一路下来安装顺利。

free一下看看内存占用,嗯?!立马杯具,默认安装配置下来已经使用了147M内存,tinyvz保证内存只有128M,突发内存256M。超标了,可以优化下mysql配置来减少内存占用。

MySQL提示了几个不同的配置文件模板(如/usr/share/doc/mysql-server-5.0.77/my-small.cnf):

  • my-small.cnf    最小配置安装,内存<=64M,数据数量最少 
  • my-large.cnf    内存=512M 
  • my-medium.cnf    32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存  
  • my-huge.cnf    1G<内存<2G,服务器主要运行mysql 
  • my-innodb-heavy-4G.cnf    最大配置安装,内存至少4G

将my-small.cnf覆盖到/etc/my.cnf,重启试试,还是占用了140M内存。@!@~

如果数据库不需要使用InnoDB存储引擎来对事务的支持,在my-small.cnf里添加二行:
skip-innodb
skip-bdb

重启试试,free一下,目前整个LAMP占用51M内存。

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

服务器启动命令:
/etc/init.d/httpd start
/etc/init.d/mysqld start

Posted by hee at 13:10 PM | Permalink | 评论(0)

昨晚为了装pptp重装了几次系统,最后发现openvz在linux内核为2.6.32以上才支持??目前这台母鸡是2.6.27,pptp能成功安装&启动服务但客户端死活连接不上,杯具……

https://forum.ramhost.us/bbs/viewtopic.php?id=518
This is a list of features tat the upgrade from 2.6.26/2.6.27 to 2.6.32 should fix or enable:

* /dev/net/tun enabled instantly on boot instead of up to an hour later.
* iptables logging should work properly.
* tcpdump inside of vps should work.
* reboot command should reboot vps (instead of halt'ing it).
* various ip6tables firewall rules should work better.
* various performance improvements.

折腾了半天后重装时发现安装过程又不记得了,0_0!! 记下来,以后装新系统时参考。

CentOS

改主机名:

echo "HOSTNAME=plato" >> /etc/sysconfig/network
hostname "plato"

改时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

Posted by hee at 12:10 PM | Permalink | 评论(0)