Cherokke设置wordpress的伪静态需要在后台操作。我们假设你已经添加好wordpress的虚拟主机devops.webres.wang,下面我们介绍如何配置wordpress伪静态。
1、选择创建好的虚拟主机,切换到“行为”,点击“规则管理”,把所有已存在的规则删除,除了默认的。
2、选择默认规则,切换到“处理程序”,处理程序下拉框选择“转发”,点击“Add New RegEx”增加转发规则,在转发规则对话框中,显示选择“内部”,正则表达式输入^(.+)$,替换输入index.php。
3、增加目录规则,网页目录输入“/wp-admin”,切换到处理程序,处理程序选择“列表和发现”。
4、克隆两次第三步的规则,分别把网页目录更改为/wp-content和/wp-includes。
5、最后添加php扩展支持。如不明白如何操作,请参考http://devops.webres.wang/2011/11/cherokee-vhost-configure/。
配置的最终结果如图:
6、最后点save-》重载
月份:2011年11月
Cherokee配置虚拟主机支持PHP
上次我们学习了cherokee php mysql的安装,但安装完全可以正常打开静态文件,但无法访问php文件,因为这需要配置cherokee支持PHP。下面学习cherokee虚拟主机配置。
1、登录cherokee后台
执行cherokee-admin -b命令获取后台密码,执行命令之后请不要中断或关闭当前ssh,否则无法登录后台。如图:
2、更换后台语言为简体中文
在后台的首页右侧,Language的下拉菜单选择chinese simplfied,如图:
3、添加数据源
1、切换Sources,点击左侧的“+”添加数据库:
2、在添加数据源对话框输入昵称php-fpm(可以输入任何),连接:/tmp/php-cgi.sock。
3、配置数据源。在类型选择“本地解析器”,解释器输入
- /usr/local/php/sbin/php-fpm –fpm-config /usr/local/php/etc/php-fpm.conf
4、添加配置虚拟主机
1、切换“vServers”,点击左侧“+”新建虚拟主机。在手动配置中的昵称输入域名(如:devops.webres.wang),输入网站根目录(如/home/www/devops.webres.wang,必须是已存在的目录),点击“增加”新建虚拟主机。
2、在目录列表中输入“index.html,index.php”定义默认首页
3、切换到“行为”,点击规则管理,删除已存在的两个规则。并点击“+”增加新规则。
4、配置规则。在增加规则对话框,选择规则类型为“扩展”,在扩展中输入“php”,并勾选“check”,点击“增加”添加规则。
5、切换到处理程序,在处理程序下拉框中选择“快速CGI”,在下面的负载均衡中选择“Round Robin”,设置数据源中应用程序选择刚才设置的数据源昵称”php-fpm”,点击save保存。
6、验证是否配置成功。在/home/www/devops.webres.wang目录下新建文件p.php,输入
- <?php
- phpinfo();
- ?>
CentOS 创建本地YUM软件库
首先从CentOS官方源(msync.centos.org),同步一份本地镜像(约7G左右),然后禁用原有的源,并创建一个本地的.repo仓库文件。
一、Rsync 同步脚本
- wget http://devops.webres.wang/wp-content/uploads/2011/11/rsync_repo.sh
- vim rsync_repo.sh //修改"local"值(本地镜像存放路径)
- chmod 755 rsync_repo.sh
- ./rsync_repo.sh
二、禁用原有的源
注:你也可以直接编辑.repos文件,加上参数”enabled=0″禁用源。
- for i in `ls /etc/yum.repos.d/`;do mv /etc/yum.repos.d/$i /etc/yum.repos.d/$i.bak;done
禁用fastestmirror插件,再也不需要这东西了。
- sed -i ‘s/plugins=1/plugins=0/g’ /etc/yum.conf
三、创建本地.repo文件
注意记得修改默认的”/mnt/hgfs/e/CentOS”本地镜像路径
- wget http://devops.webres.wang/wp-content/uploads/2011/11/CentOS-Local.repo -P /etc/yum.repos.d
- chmod 644 /etc/yum.repos.d/rsync_repo.sh
- yum -y update
CentOS安装Cherokee php mysql
Cherokee 号称是目前最快的 Web 服务器软件,Cherokee 的功能包括支持 FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。Cherokee 内含一个名为 cherokee-admin 的工具,执行后,允许管理员直接通过浏览器进入 http://localhost:9090/ 对其进行管理和配置。比如,开启或关闭服务器,进行一般选项的设定,配置虚拟服务器、信息源、图标、Mime 类型等项目。下面以centos 5.5 32位系统为例介绍如何安装cherokee php mysql。
安装mysql
安装必要软件包
- yum -y install make gcc gcc-c++ ncurses-devel
下面的rpm只适用于CentOS-5 32位,其它的到http://mirrors.sohu.com/fedora-epel/这里查找。
- rpm -Uvh http://mirrors.sohu.com/fedora-epel/5/i386/epel-release-5-4.noarch.rpm
下载软件
- cd /tmp
- wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.17.tar.gz/from/http://mysql.he.net/
- wget -c http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
- wget -c http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
安装cmake和bison
- cd /tmp
- tar zxvf cmake-2.8.6.tar.gz
- cd cmake-2.8.6
- ./bootstrap
- make && make install
- cd /tmp
- tar zxvf bison-2.5.tar.gz
- cd bison-2.5
- ./configure
- make && make install
开始安装mysql
- /usr/sbin/groupadd mysql
- /usr/sbin/useradd -g mysql mysql
- cd /tmp
- tar xvf mysql-5.5.17.tar.gz
- cd mysql-5.5.17/
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
- -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- -DWITH_EXTRA_CHARSETS=all
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MEMORY_STORAGE_ENGINE=1
- -DWITH_READLINE=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_DATADIR=/var/mysql/data
- -DMYSQL_USER=mysql
- make && make install
一些相关设置
- chmod +w /usr/local/mysql
- chown -R mysql:mysql /usr/local/mysql
- ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
- mkdir -p /var/mysql/
- mkdir -p /var/mysql/data/
- mkdir -p /var/mysql/log/
- chown -R mysql:mysql /var/mysql/
- cd support-files/
- cp my-medium.cnf /var/mysql/my.cnf
- cp mysql.server /etc/rc.d/init.d/mysqld
- /usr/local/mysql/scripts/mysql_install_db
- –defaults-file=/var/mysql/my.cnf
- –basedir=/usr/local/mysql
- –datadir=/var/mysql/data
- –user=mysql
- chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld(编辑此文件,查找并修改以下变量内容:)
- basedir=/usr/local/mysql
- datadir=/var/mysql/data
- chkconfig –add mysqld
- chkconfig –level 345 mysqld on
- service mysqld start
- /usr/local/mysql/bin/mysqladmin password [new-password]
安装PHP
安装必要软件包
- yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel autoconf pcre-devel libtool-libs freetype-devel gd libmcrypt-devel zlib-devel zip unzip gettext
开始安装php
- cd /tmp
- groupadd www
- useradd -s /sbin/nologin -g www www
- wget -c http://cn2.php.net/get/php-5.3.8.tar.gz/from/this/mirror
- tar xzvf php-5.3.8.tar.gz
- cd php-5.3.8
- ./configure –prefix=/usr/local/php –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-libxml-dir –with-openssl –with-zlib –with-curl –enable-ftp –with-gd –with-jpeg-dir –with-png-dir –with-zlib-dir –with-freetype-dir –enable-gd-native-ttf –with-gettext –enable-mbstring –with-mcrypt –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –without-pear
- make && make install
- cp php.ini-production /etc/php.ini
- cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
- cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
编辑php-fpm.conf,找到如下字段,删除前面的”;”号
- pid = run/php-fpm.pid
- pm.start_servers = 20
- pm.min_spare_servers = 5
- pm.max_spare_servers = 35
找到:
- listen = 127.0.0.1:9000
改为:
- listen = /tmp/php-cgi.sock
- chmod 755 /etc/init.d/php-fpm
- chkconfig –add php-fpm
- chkconfig –level 345 php-fpm on
- /etc/init.d/php-fpm start
安装cherokee
- yum -y install rrdtool
- groupadd www
- useradd -s /sbin/nologin -g www www
- wget http://www.cherokee-project.com/cherokee-latest-tarball -O -| tar zxvf –
- cd cherokee-1.2.101
- ./configure –prefix=/usr/local/cherokee –with-wwwroot=/home/www –with-wwwuser=www –with-wwwgroup=www
- make && make install
- wget http://devops.webres.wang/wp-content/uploads/2011/11/cherokee -O /etc/init.d/cherokee
- chmod +x /etc/init.d/cherokee
- chkconfig –add cherokee
- chkconfig –level 345 cherokee on
- ln -s /usr/local/cherokee/sbin/cherokee-admin /usr/sbin/
- service cherokee start
现在你已经可以访问默认的chreokee页面,执行cherokee-admin -b命令得到后台密码,并通过localhost:9090进入后台。关于配置cherokee支持PHP请看http://devops.webres.wang/2011/11/cherokee-vhost-configure/
服务不支持chkconfig
今天chkconfig –add nginx的时候,出现nginx 服务不支持chkconfig。
如果想让服务支持chkconfig,必须定义服务的启动级,启动优先级,关闭优先级,还有描述,如下
- # chkconfig: 345 85 15
- # description: Nginx is an HTTP server
345是启动级,85和15分别是启动优先级,关闭优先级,下面的就是描述了。
nginx alias的设置
nginx也有像apache的别名功能,格式为:
- location ~ /alias {
- root /home/www/default;
- index index.php;
- }
但nginx在处理php脚本时,需要传递给fastcgi才能处理,所以比apache的别名设置多一个,下面我们以phpmyadmin别名设置为例:
- location ~ ^/phpmyadmin.+.php$ {
- root /home/www/default;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- location ~ /phpmyadmin {
- root /home/www/default;
- index index.php;
- }
wordpress启用memcached
wordpress启用memcached需要环境符合两个条件,1,安装了php-memcached扩展,2,安装了memcached。
1、启用方法很简单,如果你的memcached启用的是默认端口11211,则只需要下载object-cache.php文件到wp-content目录即可。
2、如果端口不是11211或者需要配置多台memcached,则需要修改wp-config.php文件,在文件中加入下面代码。
- global $memcached_servers;
- $memcached_servers = array(‘default’ => array(‘127.0.0.1:11211′,’192.168.1.101:11211’)); // 这里是你的 memcached 地址和端口
- global $blog_id;
- $blog_id = ‘centos_blog’; // 这里是用于区分服务器上有多个 wordpress 而避免使用同一内存缓存
CentOS安装mysql分布式缓存服务器memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。下面我们来一步步安装memcached。
1、首先为PHP安装扩展memcache。参考如下教程。
http://devops.webres.wang/2011/11/linux-install-php-memcache/
2、安装libevent
- yum -y install libevent-devel
3、下载memcached
- wget -c http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz
- tar xzf memcached-1.4.9.tar.gz
- cd memcached-1.4.9
4、开始编译安装memcached
- ./configure –prefix=/usr/local/memcached
- make
- make install
5、配置memcached
1)下载启动脚本
- wget http://devops.webres.wang/wp-content/uploads/2011/11/memcached -O /etc/init.d/memcached
- chmod +x /etc/init.d/memcached
2)创建文件/usr/local/memcached/memcached.conf,并写入以下代码。
- PORT="11211"
- USER="memcached"
- MAXCONN="2048"
- CACHESIZE="64"
- OPTIONS=""
PORT=”11211″:指定端口为11211
USER=”memcached”:以memcached用户运行
MAXCONN=”2048″:最大连接数
CACHESIZE=”64″:设置缓存内存为64M
3)建立用户memcached,加入启动项,并启动memcached
- groupadd memcached
- useradd -g memcached memcached
- chkconfig –add memcached
- chkconfig memcached on
- service memcached start
Linux安装php扩展memcache
php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法。
1、下载并解压memcache文件
- wget -c http://pecl.php.net/get/memcache-3.0.6.tgz
- tar xzvf memcache-3.0.6.tgz
- cd memcache-3.0.6
2、执行phpize扩展安装程序,假设phpzie的路径为/usr/local/php/bin/phpize,具体的路径得根据自己的环境修改。
- /usr/local/php/bin/phpize
3、开始安装扩展memcache
- ./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
- make && make install
4、最后修改php.ini文件,在zend之前加入如下代码。
- [memcache]
- extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
- extension=memcache.so
解决apache与vsftpd写入权限共存问题
我们有时候会遇到apache有写入权限时,vsftpd又不能上传,反过来,vsftpd能上传,但apache又没有写入权限了。我们现在来看看如何解决这个问题。解决的思路是,把ftp用户添加到apache用户组,并设置用户组有写入权限。
假设现在我们建有ftp用户为:centos,httpd进程以apache用户运行。
1、添加centos到用户组apache
- usermod -a -G apache centos
2、设置网站根目录/var/www的所有组为apache
- chown -R :apache /var/www
3、设置网站根目录的权限为用户组有读写权限
- chmod -R g+rw /var/www
最后还需要确认vsftpd的配置文件中的local_umask=002,这是使新上传的文件的用户组有写入权限。