指定FastCGI要用FPM PHP要求扩展mysql,mysqli,ldap,Xcache 1. 安装 PHP 5.3.3 或更高的版本; 2. 安装 MySQL 5.0.51 或更高的版本; 3. 安装 Nginx 1.4.2 或更高的版本; 4. mediawiki 1.21.1 5. Jdk 1.6.10 所有安装包都在我的资源共享里可以找到(写完这个
指定FastCGI要用FPM
PHP要求扩展mysql,mysqli,ldap,Xcache
1. 安装PHP5.3.3或更高的版本;
2. 安装MySQL5.0.51或更高的版本;
3. 安装Nginx1.4.2或更高的版本;
4. mediawiki 1.21.1
5. Jdk1.6.10
所有安装包都在我的资源共享里可以找到(写完这个之前,应该找不到- -!)
PHP5.3.3之后自带了FPM,可以省点事
由于有版本需求,只能编译安装了
Nginx安装部分
在安装系统时候安装了gcc,openssl-devel,zlib-devel,所以只需要把pcre-devel装上就成了
1.安装Nginx所需pcre库
tar -zxvf pcre-8.02.tar.gz
cd pcre-8.02
./configure
make
make install
2.安装Nginx
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/usr/local/nginx "这步如果有需要可以选择添加一些可选参数,不做赘述"
make
make install
3.访问IP或者域名
看到nginx欢迎你了,就算成功了
由于php在编译时需要加入mysql扩展的参数,需要指定mysql相关路径,故此需要先安装mysql
mysql之前没源码安装过,都是二进制装的
但是这次这个版本实在找不到二进制了,临时参考了好多文档,东拼西凑,凑出来一个成功的
公司mysql字符集全部是utf-8,不知道使用部门有没有需要,直接加上,省的以后麻烦
mysql安装部分
建立mysql组和用户
gourpadd mysql
useradd -g mysql mysql
安装mysql
tar -zxvf mysql-5.0.51.tar.gz
cd mysql-5.0.51
./configure --prefix=/usr/local/mysql --with-charset=utf8
make
make install
将mysql的配置文件cp到/etc目录下
cp support-files/my-medium.cnf /etc/my.cnf
设置mysql启动
cp -r support-files/mysql.server /etc/init.d/mysqld
/sbin/chkconfig --add mysqld
这样以后就可以对mysql的启停用service操作,与输入一串路径比方便很多
给mysql路径用户和组权限
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql
启动
service mysqld start
将mysql命令加入环境变量
export PATH=/usr/local/mysql/bin:$PATH
/usr/local/mysql/bin/mysql_secure_installation
首次登录无密码,直接登
mysql -uroot
PHP安装
所需依赖gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
tar -zxvf php-5.3.3.tar.gz
cd php-5.3.3
./configure --prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir=/usr/local
--with-freetype-dir --with-jpeg-dir--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml--disable-rpath --enable-discard-path --enable-safe-mode--enable-bcmath --enable-shmop --enable-sysvsem--enable-inline-optimization --with-curl --with-curlwrappers--enable-mbregex
configure这部视自身情况删减,加粗部分为我这次的必选项,我安装时候是整个贴上去的,因为写这个文档之前,请求部门说只要一个LNMP环境+wiki系统就成,结果过了几天告诉我又要扩展返工,说的好像是我的问题一样,当初不说清楚......省略。他们让我重新编译一次php,所以这次我是把php单独重新编译的,一气之下,全给他们丫的兑上了,管他们用不用呢
如果报错,网上找找,普遍是缺关联,直接yum装上就解决了
继续
make
make install
配置PHP
cp php.ini-development /usr/local/php/lib/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
编辑php-fpm.conf,修改如下内容(将注释删除)
[global]
pid =/usr/local/php/var/run/php-fpm.pid
error_log =/usr/local/php/var/log/php-fpm.log
log_level = notice
[www]
listen = 127.0.0.1:9000
user = yaoya
group = yaoya
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
启动php-fpm
/usr/local/php/sbin/php-fpm
ps -ef | grep php-fpm
netstat -ntlp
确认进程和9000端口是否存在
修改nginx.conf使其支持php解析
增加一个虚拟主机
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#这点要指向自己的页面路径,如果解析是空白对比nginx和php日志调吧
include fastcgi_params;
}
然后重启nginx
可以看到正确解析phpinfo后,php扩展了mysql,mysqli,ldap
Xcache这个需要自己安装,然后配置
步骤如下
wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
tar -zxvf xcache-1.3.0.tar.gz
cd xcache-1.3.0
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make
make install
之后会看到 Installing shared extensions: 给了一个路径,复制下来,之后配置extensions路径时用到它
之后直接把xcache-1.3.0这个目录下的xcache.ini文件内容粘到php.ini里边
在command段内找到zend-extension=
原先内容和之前安装后给出的路径差不多,但是zts后是xxxxx,把那个路径粘上去然后愉快的把nginx和php-fpm重启
jdk装完,配个环境变量就好了
wiki直接代码弄上去就哦了
这两个很简单