用主机访问虚拟机nginx linux +nginx+oracle+php pdo连不上数据库

项目管理(51)
我主要是用来安装php,以及nginx和php的交互。原文:/lost-1987/articles/2642979.html
一 安装插件
可以选择YUM安装或者源码编译安装
gcc-c++
pcre-devel
libevent-devel
libxml2-devel
libmcrypt-devel
curl-devel
libpng-devel
libtool-ltdl-devel
openssl-devel
ncurses-devel
mysql-devel
二 安装mysql
tar -zxvf mysql-<span style="color:#.5.<span style="color:#.tar.gz
将mysql包解压 然后放入你想要mysql的安装位置 如本例中的/usr/local/webserver/mysql cmake命令需要这个路径
-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \
-DMYSQL_DATADIR=/user/local/webserver/mysql/data \
-DSYSCONFDIR=/etc \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=<span style="color:# \
-DWITH_ARCHIVE_STORAGE_ENGINE=<span style="color:# \
-DWITH_BLACKHOLE_STORAGE_ENGINE=<span style="color:# \
-DWITH_FEDERATED_STORAGE_ENGINE=<span style="color:# \
-DWITH_PARTITION_STORAGE_ENGINE=<span style="color:# \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=<span style="color:# \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=<span style="color:#06 \
-DWITH_DEBUG=<span style="color:# \
-DENABLED_LOCAL_INFILE=<span style="color:#
回车执行,执行完成后继续执行 make && make install
#设置Mysql
#在support-files目录中有五个配置信息文件(这里很重要,一定要根据自己的内存复制对应的cnf文件,否则mysql始终起不来):
#my-f (内存&=<span style="color:#M)
#my-f (内存 128M)
#my-f (内存 512M)
#my-f (内存 1G-<span style="color:#G)
#my-innodb-heavy-<span style="color:#G.cnf (内存 4GB)
cd /usr/local/webserver/mysql
cp ./support-files/f /etc/my.cnf
vi /etc/my.cnf
#在 [mysqld] 段增加
/usr/local/webserver/mysql/data
wait-timeout = <span style="color:#
max_connections = <span style="color:#2
default-storage-engine = MyISAM
#在 [mysqld] 段修改
max_allowed_packet = 16M
//添加mysql运行的用户和用户组
groupadd mysql
useradd -g mysql mysql -s /bin/false -d /home/mysql
//没有shell,不可本机登陆(安全起见)
cd /usr/local/webserver/mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
//生成新的mysql授权表
//进入mysql安装目录下的脚本目录
cd /usr/local/webserver/mysql/scripts
//利用mysql_install_db脚本生成新的mysql授权表
./mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=mysql
//mysql server在系统中的服务项设置
//复制服务文件并修改
cd /usr/local/webserver/mysql/support-files
cp mysql.server mysqld
//修改mysqld
basedir=/usr/local/webserver/mysql
datadir=/usr/local/webserver/mysql/data
mv mysqld /etc/init.d/mysqld
chmod <span style="color:#5 /etc/init.d/mysqld
进行上述操作后 我们可以用 service mysqld start 来启动mysql服务了
//设置软连接使mysql,
mysqldump,
mysqladmin这三个bin命令能在shell中直接运行
sudo ln -s /usr/local/webserver/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/webserver/mysql/bin/mysqldump /usr/bin
sudo ln -s /usr/local/webserver/mysql/bin/mysqladmin /usr/bin
rm -rf /etc/f 因为已经把此文件复制到/etc/my.cnf
如果不删除的话,mysql启动不起来。
/etc/init.d/mysqld start
//设置root密码
mysqladmin -u root password &admin&
//mysql数据库中文乱码解决
vi /etc/my.cnf
//然后在[mysqld]配置选项下添加
character-set-server=utf8
//然后进入mysql
cd /usr/local/webserver/mysql/bin
mysql -u root -p
提示输入密码
mysql& show variables like '%character%';
三 安装Nginx&
#tar zxvf nginx-<span style="color:#.8.<span style="color:#.tar.gz
#cd nginx-<span style="color:#.8.<span style="color:#
#./configure --prefix=/usr/local/nginx
//此处在本环节只需指定一个路径
#make && make install
#/usr/local/nginx/sbin/nginx
编写服务脚本(服务脚本请勿复制 请在linux下写入 不然回车换行符会引起异常)
vi /etc/init.d/nginx
把下列内容写入文件并保存
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# this script create it by gcec at .
# it is v.0.0.1 version.
# if you find any errors on this scripts,please contact gcec cyz.
# and send mail to support at gcec dot cc.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
#这里设置为你安装nginx的执行文件位置
nginx_config=/usr/local/nginx/conf/nginx.conf
#这里设置为你nginx的配置文件位置
nginx_pid=/var/run/nginx.pid
prog=&nginx&
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = &no& ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
if [ -e $nginx_pid ];then
echo &nginx already running....&
echo -n $&Starting $prog: &
daemon $nginxd -c ${nginx_config}
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
# Stop nginx daemons functions.
echo -n $&Stopping $prog: &
killproc $nginxd
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
# reload nginx service functions.
reload() {
echo -n $&Reloading $prog: &
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
# See how we were called.
case &$1& in
status $prog
echo $&Usage: $prog {start|stop|restart|reload|status|help}&
exit $RETVAL
保存之后 赋予文件权限
chmod 755 /etc/init.d/nginx
我们就可以通过service nginx start 来启动服务了
四 安装php
create user and group for fpm(fastcgi process manager)
groupadd fpm
useradd --shell /sbin/nologin -g fpm fpm
download, configure and install php5.<span style="color:#.3
wget http://www.php.net/distributions/php-5.3.3.tar.gz
tar zxvf php-<span style="color:#.3.<span style="color:#.tar.gz
cd php-<span style="color:#.3.<span style="color:#
[直接复制]
./configure
--prefix=/usr/local/php
--enable-fpm
--with-fpm-user=fpm
--with-fpm-group=fpm --with-config-file-path=/usr/local/php/lib --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pdo-sqlite --without-sqlite3 --without-sqlite --with-curl --enable-mbstring --with-mhash --with-mcrypt --with-openssl --with-gd --enable-sockets --with-gettext --with-zlib --enable-zip --enable-soap --with-xmlrpc --with-freetype-dir=/usr/local/freetype --enable-gd-native-ttf --disable-fileinfo
中途错误需要yum install几个依赖包
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-fpm-user=fpm \
--with-fpm-group=fpm \
--with-config-file-path=/usr/local/php/lib
#这里是配置放php.ini的存放位置
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--without-pdo-sqlite \
--without-sqlite3 \
--without-sqlite \
--with-mysql-sock=/tmp/mysql.sock \
--with-curl \
--enable-mbstring \
--with-mhash \
--with-mcrypt \
--with-openssl \
--with-gd \
--enable-sockets \
--with-gettext \
--with-zlib \
--enable-zip \
--enable-soap \
--with-xmlrpc \
--with-freetype-dir=/usr/local/freetype \
--enable-gd-native-ttf \
--with-jpeg-dir=/usr/lib64
#64位系统lib64 32位系统lib32
make && make install
&make出现错误virtual memory exhausted: Cannot allocate memory,在configure上加上–disable-fileinfo
如果出现mysql_config not found的错误
解决办法: vi /etc/profile 在最后加入一行 export PATH=&$PATH:/usr/local/mysql/bin& 这个是你的mysql安装到的目录
&五 配置php
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
复制源码包里的php.ini-development到/usr/local/php/lib
vi php-fpm.conf
找到&listen=&
修改为 listen = /dev/shm/php-fpm.sock (要求php版本5.3以上 该方式为使用sock文件监听)
cp /backup/php-5.3.3/php.ini-development /usr/local/php/lib/php.ini
/usr/local/php/sbin/php-fpm
如果设置路径正确,php.ini文件也存在,还无法加载php.ini的话 修改启动命令 /usr/local/php/sbin/php-fpm -c /etc/php.ini
编写服务脚本(服务脚本请勿复制 请在linux下写入 不然回车换行符会引起异常)
touch /etc/init.d/phpfpm
vim /etc/init.d/phpfpm
#!/bin/bash
start() { &
&&&& /usr/local/php/sbin/php-fpm &
&&&& /bin/echo 'starting php listener ---[ok]'
stop() { &
&&&& /usr/bin/pkill php-fpm &
&&&& /bin/echo 'stopping php listener ---[ok]'
case &$1& in
&&& start &&
&&& stop &&
restart) &&
&& &stop &&
&&& start &&
&&& echo 'usage:start/stop/restart' &
&&& exit 0 &
然后 就能通过 service phpfpm start/stop/restart 来启动监听
&六 配置Nginx
cat /usr/local/php/etc/php-fpm.conf
查看端口 为 127.0.0.1:9000
修改nginx配置文件 /usr/local/nginx/conf/nginx.conf
#&location&/&{&&&&//一定要注掉这部分,否则会不解析PHP文件,而会下载&了
#&&&&root&&&&
#&&&&index&&index.html&index.&
location ~ \.php {
#这是你网站的根目录
  fastcgi_pass  127.0.0.1:9000;
#这里指定了fastcgi进程侦听的端口,nginx就是通过这里与php交互的
#fastcgi_pass
unix:/dev/shm/php-fpm.
  fastcgi_index  index.   fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_
#因为SCRIPT_FILENAME在配置中是写死的并没有随着$doucument_root变化而变化,我们可以修改SCRIPT_FILENAME配置如下
#fastcgi_param &SCRIPT_FILENAME &$document_root$fastcgi_script_
  include
重启nginx服务
/usr/local/nginx/sbin/nginx -s reload
在/usr/local/nginx下创建www目录
新建一个index.php文件
vim index.php
写入&?php echo phpinfo();?&
访问服务器 如果起作用就说明配置成功
七 设置php nginx mysql 自启动
我想在centos里不启用图形界面
那么选择系统运行级别为2或者3的 推荐3
在配置之前 我们先检查下 /etc/init.d中有没有我们mysql,php,nginx的服务脚本 如果没有的话 先配置再做下列操作
如以上 mysqld , nginx, phpfpm 这3个脚本都编写好 并且放入/etc/init.d下的话 我们来配置一下自启动
我想通过一个服务来启动这3个服务那么再写一个脚本就可以了
注意:system类型的服务都可以用service来启动,用chkconfig来add 和del
但是有些自己配置的服务在用chkconfig来配置到时候会提示: “service XX does not support chkconfig”
这一般都是script不符合&#26684;式造成的,解决如下,
在script开始加入两行内容即可:
# chkconfig: - 85 15
# description: this is a World Wide Web server.
mv /etc/init.d/mysqld /etc/init.d/webapp-mysqld
mv /etc/init.d/nginx /etc/init.d/webapp-nginx
mv /etc/init.d/phpfpm /etc/init.d/webapp-phpfpm
touch /etc/init.d/webapp
vim /etc/init.d/webapp
写入以下脚本
#!/bin/bash
# chkconfig:&- 85 15
# description: this is a World Wide Web server.
if [ &$ACTION& = && ] || [ &$ACTION& = &start& ];then & &
& #start php listeners &
&&/sbin/service webapp-phpfpm start
& #start nginx service &
&&/sbin/service webapp-nginx start
& #start mysql service &
& /sbin/service webapp-mysqld start
& echo &web applications[mysql,nginx,php] is running now !&
elif [ &$ACTION& = &stop& ];then&&&&
&& /sbin/service webapp-phpfpm stop &
&& /sbin/service webapp-nginx stop &
&& /sbin/service webapp-mysqld stop & &
&&&echo 'web application stopped'&
&& echo &use start or stop&or none after your service command&
&添加系统服务开机启动
&chkconfig --add webapp(注意在/etc/init.d下的服务脚本必须加入#chkconfig 和 #description的内容才能够在这里支持chkconfig命令,以上已经提到过)
&chkconfig --level 3 webapp on
&这样我们的lamp的架构就配置成功了
chkconfig --list [name] 用来列表服务
chkconfig --add name 用来添加服务
chkconfig --del name 用来删除服务
chkconfig [--level levels] name 改变启动信息以及检查特定服务的启动状态。
on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化服务信息。
对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:322797次
积分:5565
积分:5565
排名:第4619名
原创:241篇
评论:42条
(2)(1)(1)(1)(2)(4)(1)(15)(1)(2)(2)(15)(6)(13)(5)(3)(3)(6)(12)(11)(10)(19)(1)(10)(17)(24)(21)(15)(1)(2)(18)用户名:vast2006
文章数:191
评论数:30
访问量:272633
注册日期:
阅读量:1297
阅读量:3317
阅读量:442578
阅读量:1128690
[匿名]51cto游客:
51CTO推荐博文
经过前面学习,对nginx有个大概的了解,来配置LNMP;只要是在系统安装过程中选择安装比较齐全的包,基本上系统都能满足安装要求,下面是我一个一个测试的,基本上全部安装所需的库文件,放心安装;
[root@mgmserver ~]# rpm -qa |grep zlib
zlib-devel-1.2.3-3
zlib-1.2.3-3
[root@mgmserver tar_packet]# rpm -qa |grep openssl
openssl-0.9.8e-12.el5
openssl-devel-0.9.8e-12.el5
[root@mgmserver tar_packet]# rpm -qa |grep pcre
pcre-6.6-2.el5_1.7
pcre-devel-6.6-2.el5_1.7
[root@mgmserver tar_packet]# rpm -qa |grep gcc
compat-libgcc-296-2.96-138
compat-gcc-34-g77-3.4.6-4
gcc-c++-4.1.2-46.el5
libgcc-4.1.2-46.el5
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
gcc-java-4.1.2-46.el5
gcc-4.1.2-46.el5
gccp-gfortran-4.1.2-46.el5
[root@mgmserver tar_packet]# rpm -qa |grep autoconf
autoconf-2.59-12
[root@mgmserver tar_packet]# rpm -qa |grep automake
automake-1.9.6-2.1
automake16-1.6.3-8
automake15-1.5-16
automake17-1.7.9-7
automake14-1.4p6-13
[root@mgmserver ~]# rpm -qa |grep libjpeg
libjpeg-devel-6b-37
libjpeg-6b-37
[root@mgmserver ~]# rpm -qa |grep libpng
libpng-1.2.10-7.1.el5_3.2
libpng-devel-1.2.10-7.1.el5_3.2
[root@mgmserver ~]# rpm -qa |grep freetype
freetype-2.2.1-21.el5_3
freetype-devel-2.2.1-21.el5_3
[root@mgmserver ~]# rpm -qa |grep libxml2
libxml2-python-2.6.26-2.1.2.8
libxml2-2.6.26-2.1.2.8
libxml2-devel-2.6.26-2.1.2.8
[root@mgmserver ~]# rpm -qa |grep glibc
glibc-2.5-42
glibc-devel-2.5-42
compat-glibc-2.3.4-2.26
glibc-common-2.5-42
compat-glibc-headers-2.3.4-2.26
glibc-headers-2.5-42
[root@mgmserver ~]# rpm -qa |grep glib2
glib2-2.12.3-4.el5_3.1
glib2-devel-2.12.3-4.el5_3.1
[root@mgmserver ~]# rpm -qa |grep bzip2
bzip2-devel-1.0.3-4.el5_2
bzip2-libs-1.0.3-4.el5_2
bzip2-1.0.3-4.el5_2
[root@mgmserver ~]# rpm -qa |grep ncurses
ncurses-devel-5.5-24.
ncurses-5.5-24.
[root@mgmserver ~]# rpm -qa |grep curl
curl-devel-7.15.5-2.1.el5_3.5
curl-7.15.5-2.1.el5_3.5
[root@mgmserver ~]# rpm -qa |grep e2fsprogs
e2fsprogs-libs-1.39-23.el5
e2fsprogs-1.39-23.el5
e2fsprogs-devel-1.39-23.el5
[root@mgmserver ~]# rpm -qa |grep krb5
pam_krb5-2.2.14-10
krb5-auth-dialog-0.7-1
krb5-libs-1.6.1-36.el5
krb5-workstation-1.6.1-36.el5
krb5-devel-1.6.1-36.el5
[root@mgmserver ~]# rpm -qa |grep libidn
libidn-0.6.5-1.1
libidn-devel-0.6.5-1.1
[root@mgmserver ~]# rpm -qa |grep nss_ldap
nss_ldap-253-21.el5
openldap 这个库缺少
[root@mgmserver ~]#yum install openldap*
[root@mgmserver ~]# rpm -qa |grep openldap
openldap-clients-2.3.43-3.el5
openldap-2.3.43-3.el5
openldap-devel-2.3.43-3.el5
openldap-servers-2.3.43-3.el5
openldap-servers-sql-2.3.43-3.el5
openldap-servers-overlays-2.3.43-3.el5
1、安装LNMP 所需的安装包有点多,要耐心.......,下载的链接张老师的博客上有:
#nginx主程序包
#PHP主程序包
#PHP的FastCGI进程管理补丁包
#mysql主程序包
libiconv库是一个基于GNU协议的开源库,主要是解决多语言编码处理转换等应用问题;
由于历史原因,国际化的文字常常由于语言或者国家的原因使用不同的编码。随着互联网时代的到来,通过互联网进行文字交流也逐渐增多:浏览外国的网站,这个时候字符编码的转换变得尤为重要。这带来了一个问题,就是许多字符在某一种编码方式中没有。为了解决这种混乱,Unicode的编码方式被建立。 Unicode是一种超级编码包含了所有这些编码的字符集,因此一些新的文本格式像XML的默认编码方式就是Unicode.
但是很多老式的计算机还在使用当地的传统的字符编码方式。而一些程序,例如邮件程序和浏览器必须能在这些不同的用户编码之间作转换。其他的一些程序则内置支持Unicode,以顺利支持国际化的处理,但是仍然有在Unicode和其他的传统编码之间转换的需求。GNU的libiconv就是为这两种应用设计的编码转换库。libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。
#安全线程加密库主程序包
#Mcrypt是一个功能强大的加密算法扩展库,它包括有22种算法
#memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache是的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!基于memcache作者对分布式 cache的理解和解决方案。 memcache完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。
#Mhash扩展库,Mhash扩展库支持12种混编算法
#正则表达式扩展主程序包
#eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;
#PDO 是 PHP 数据对象的缩写, 是一种访问数据库的更便捷、安全的途径。通过该方式,数据库开发者可以更方便地写出移植性较高的代码。PDO 并不是类似于 PearDB 的数据库抽象层,而 更像一种采用了统一 API (应用编程接口)的数据访问层。
如何启用PDO?要启用 PDO 配置,须打开 pdo 、pdo_sqlite、pdo_mysql等所的扩展模块
#是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言: Perl, C, C++, Python, PHP, Ruby, Java
#一般用php处理图片都是使用GD库或者GD2的函数库,一般编译php环境都会搭上GD库,大多数开源程序也是用GD来处理图片的,但是它只能现实诸如调整大小、增加水印等基础功能,要想用GD来做复杂图形是非常困难的。
基于命令行的图像处理软件ImageMagick,能实现非常丰富的功能。如果服务器上安装了ImageMagick,php脚本可以使用 shell命令来完成,也可以用php的原生函数库Imagick或者MagickWandForPHP函数来调用ImageMagick软件来实现。
因为Linux系统下PHP往往没有执行shell的权限,直接用shell来操作ImageMagick不太可能,综合考虑,Imagick函数库连接到ImageMagick软件比较好,而且是面向对象方式的。
2、安装php(fastcgi模式)
(1)、安装php所需的支持库
&[root@mgmserver tar_packet]# tar -zxvf libiconv-1.13.1.tar.gz -C ../install_packet/
[root@mgmserver libiconv-1.13.1]# ./configure --prefix=/usr/local
[root@mgmserver libiconv-1.13.1]# make
[root@mgmserver libiconv-1.13.1]# make install
[root@mgmserver tar_packet]# tar -zxvf libmcrypt-2.5.8.tar.gz -C ../install_packet/
[root@mgmserver libmcrypt-2.5.8]# ./configure
[root@mgmserver libmcrypt-2.5.8]# make
[root@mgmserver libmcrypt-2.5.8]# make install
[root@mgmserver libltdl]# /sbin/ldconfig&&&&& (配置动态连接器(ld)运行时邦定)
[root@mgmserver libltdl]# cd libltdl/
[root@mgmserver libltdl]# ./configure --enable-ltdl-install
[root@mgmserver libltdl]# make
[root@mgmserver libltdl]# make install
[root@mgmserver tar_packet]# tar -zxvf mhash-0.9.9.9.tar.gz -C ../install_packet/
[root@mgmserver install_packet]# cd mhash-0.9.9.9/
[root@mgmserver mhash-0.9.9.9]# ./configure
[root@mgmserver mhash-0.9.9.9]# make
[root@mgmserver mhash-0.9.9.9]# make install
[root@server5 mhash-0.9.9.9]# ln -s /usr/local/lib/* /usr/lib&&& &
(这一步不用做了 ,做完成上面步骤后/usr/lib下面已经存在了)
[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
[root@localhost install_packet]# ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
[root@localhost install_packet]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
[root@localhost install_packet]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
[root@mgmserver tar_packet]# tar -zxvf mcrypt-2.6.8.tar.gz -C ../install_packet/
[root@mgmserver mcrypt-2.6.8]# /sbin/ldconfig
[root@mgmserver mcrypt-2.6.8]# ./configure
[root@mgmserver mcrypt-2.6.8]# make
[root@mgmserver mcrypt-2.6.8]# make install
(2)、安装mysql
[root@mgmserver tar_packet]# groupadd mysql
[root@mgmserver tar_packet]# useradd -g mysql mysql
[root@mgmserver tar_packet]#tar -zxvf mysql-5.5.3-m3.tar.gz -C ../install_packet/
[root@mgmserver mysql-5.5.3-m3]# ./configure --prefix=/usr/local/mysql --enable-assembler --with-charset=utf8 --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
[root@mgmserver mysql-5.5.3-m3]# make
[root@mgmserver mysql-5.5.3-m3]# make install
[root@mgmserver mysql-5.5.3-m3]# cp support-files/f /f
[root@mgmserver mysql]# pwd
/usr/local/mysql
&[root@mgmserver mysql]# bin/mysql_install_db --user=mysql
Installing MySQL system tables...
:30:41 [ERROR] /usr/local/mysql/libexec/mysqld: unknown variable 'thread_concurren&&&&&&&&&&&&&&&& cy=8'
:30:41 [ERROR] Aborting
:30:41 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete
mysql 初始化报错,发现网上有哥们已经解决了这个问题,实在是强大,原因是my.cnf中有一行:
thread_concurrency = 8
thread_concurrency这个变量,意思是并发的线程数,并且根据给的解释是该参数取值为服务器逻辑CPU数量&2,而如果每颗物理CPU又支持H.T超线程,所以实际取值为4 & 2 = 8。而我这个机器是ADM闪龙3000 单核的CPU,并不符合它的要求,所以它提示&unknown variable &thread_concurrency=8&&是个未知变量。对my.cnf做一些修改,把&thread_concurrency=8&注释掉
重新初始化OK
[root@mgmserver mysql]# bin/mysql_install_db --user=mysql
Installing MySQL system tables...
Filling help tables...
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
& ...........
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql var
[root@localhost mysql]# chgrp -R mysql .
[root@mgmserver mysql]# cp share/mysql/mysql.server /etc/init.d/mysqld
[root@mgmserver mysql]# chkconfig --add mysqld
[root@mgmserver mysql]# cd /etc/init.d/
[root@mgmserver init.d]# chmod +x mysqld
[root@mgmserver init.d]# chkconfig --list mysqld
mysqld&&&&&&&&& 0:关闭& 1:关闭& 2:启用& 3:启用& 4:启用& 5:启用& 6:关闭
[root@mgmserver init.d]# service mysqld start
Starting MySQL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [确定]
[root@mgmserver init.d]# cp /usr/local/mysql/bin/* /sbin/
[root@mgmserver init.d]# mysql
Welcome to the MySQL monitor.& C or \g.
Your MySQL connection id is 1
Server version: 5.5.3-m3-log Source distribution
Type '' or '\h' for help. Type '\c' to clear the current input statement.
+--------------------+
| Database&&&&&&&&&& |
+--------------------+
| information_schema |
| mysql&&&&&&&&&&&&& |
| performance_schema |
| test&&&&&&&&&&&&&& |
+--------------------+
4 rows in set (0.00 sec)
mysql& exit
[root@mgmserver init.d]# mysqladmin -u root -h localhost password 'mysql'
[root@mgmserver init.d]# mysql
ERROR ): Access denied for user 'root'@'localhost' (using password: NO)
[root@mgmserver init.d]#
[root@mgmserver init.d]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.& C or \g.
Your MySQL connection id is 4
Server version: 5.5.3-m3-log Source distribution
Type '' or '\h' for help. Type '\c' to clear the current input statement.
(3)、编译安装pHP (fastcgi模式)
[root@mgmserver tar_packet]# tar -zxvf php-5.2.14.tar.gz -C ../install_packet/
[root@mgmserver php-5.2.14]# pwd
/home/install_packet/php-5.2.14
[root@localhost install_packet]# gzip -cd php-5.2.14-fpm-0.5.14.diff.gz |patch -d php-5.2.14 -p1
[root@mgmserver php-5.2.14]# ./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 --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash -enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
[root@mgmserver php-5.2.14]# make ZEND_EXTRA_LIBS='-liconv'
[root@mgmserver php-5.2.14]# make install
[root@mgmserver php-5.2.14]# cp php.ini-dist /usr/local/php/etc/php.ini
&(4)、安装PHP扩展
[root@mgmserver tar_packet]# tar -zxvf memcache-2.2.5.tgz -C ../install_packet/
[root@mgmserver memcache-2.2.5]# /usr/local/php/bin/phpize
[root@mgmserver memcache-2.2.5]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@mgmserver memcache-2.2.5]# make
[root@mgmserver memcache-2.2.5]# make install
Installing shared extensions:&&&& /usr/local/php/lib/php/extensions/no-debug-non-zts-/
[root@mgmserver tar_packet]# tar -jxvf eaccelerator-0.9.6.1.tar.bz2 -C ../install_packet/
[root@mgmserver install_packet]# cd eaccelerator-0.9.6.1/
[root@mgmserver eaccelerator-0.9.6.1]# /usr/local/php/bin/phpize
[root@mgmserver eaccelerator-0.9.6.1]# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
[root@mgmserver eaccelerator-0.9.6.1]# make
[root@mgmserver eaccelerator-0.9.6.1]# make install
Installing shared extensions:&&&& /usr/local/php/lib/php/extensions/no-debug-non-zts-/
[root@mgmserver tar_packet]# tar -zxvf PDO_MYSQL-1.0.2.tgz -C ../install_packet/
[root@mgmserver install_packet]# cd PDO_MYSQL-1.0.2/
[root@mgmserver PDO_MYSQL-1.0.2]# /usr/local/php/bin/phpize
[root@mgmserver PDO_MYSQL-1.0.2]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-
mysql=/usr/local/mysql
[root@mgmserver PDO_MYSQL-1.0.2]# make
[root@mgmserver PDO_MYSQL-1.0.2]# make install
Installing shared extensions:&&&& /usr/local/php/lib/php/extensions/no-debug-non-zts-
[root@mgmserver tar_packet]# tar -zxvf ImageMagick.tar.gz -C ../install_packet/
[root@mgmserver ImageMagick-6.5.1-2]# ./configure
[root@mgmserver ImageMagick-6.5.1-2]# make
[root@mgmserver ImageMagick-6.5.1-2]# make install
[root@mgmserver tar_packet]# tar -zxvf imagick-2.3.0.tgz -C ../install_packet/
[root@mgmserver install_packet]# cd imagick-2.3.0/
[root@mgmserver imagick-2.3.0]# /usr/local/php/bin/phpize
[root@mgmserver imagick-2.3.0]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@mgmserver imagick-2.3.0]# make
[root@mgmserver imagick-2.3.0]# make install
Installing shared extensions:&&&& /usr/local/php/lib/php/extensions/no-debug-non-zts-/
(5)、修改php.ini文件
找到491行的extension_dir = &./&
修改为& extension_dir = &/usr/local/php/lib/php/extensions/no-debug-non-zts-& 指定模块所在的位置;
在这行后面加上
&&& 493& extension = &imagick.so&
&&& 494& extension = & memcache.so&
&&& 495& extension = &pdo_mysql.so&
在 101行处
&&& 修改 output_buffering = Off为 output_buffering = On
把523 处的注释去掉, cgi.fix_pathinfo=0 防止nginx文件类型错误解析漏洞
6、配置php加速eaccelerator
创建缓存文件夹;
[root@mgmserver local]# mkdir eaccelerator_cache
在php.ini配置文件末尾加上如下:
&& 1290 [eaccelerator]
&& 1291&& extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-/eaccelerator.so
&& 1292&& eaccelerator.shm_size=&32&
&& 1293&& eaccelerator.cache_dir=&/usr/local/eaccelerator_cache&
&& 1294&& eaccelerator.enable=&1&
&& 1295&& eaccelerator.optimizer=&1&
&& 1296&& eaccelerator.check_mtime=&1&
&& 1297&& eaccelerator.debug=&0&
&& 1298&& eaccelerator.filter=&&
&& 1299&& eaccelerator.shm_max=&0&
&& 1300&& eaccelerator.shm_ttl=&3600&
&& 1301&& eaccelerator.shm_prune_period=&360&
&& 1302&& eaccelerator.shm_only=&0&
&& 1303&& press=&1&
&& 1304&& press_level=&9&
(7)、悲剧了,空余的机器被拿去用了,只好换个机器,创建www 用户和组,及两个虚拟主机域名目录与
[root@mgmserver ~]# groupadd www
[root@mgmserver ~]# useradd -g www www
[root@nginx ~]# mkdir -p /web/htdocs/
[root@nginx ~]# chown -R www:www /web/htdocs/
[root@nginx ~]# mkdir -p /web/htdocs/
[root@nginx ~]# chown -R www:www /web/htdocs//
&8、修改php-fpm配置文件,黄色标记的是修改值
&&& 1 &?xml version=&1.0& ?&
&&&&& 2 &configuration&
&&&&& 4&&&&&&&& All relative paths in this config are relative to php's install prefix
&&&&& 6&&&&&&&& &section name=&global_options&&
&&&&& 8&&&&&&&&&&&&&&&& Pid file
&&&&& 9&&&&&&&&&&&&&&&& &value name=&pid_file&&/usr/local/php/logs/php-fpm.pid&/value&
&&&& 11&&&&&&&&&&&&&&&& Error log file
&&&& 12&&&&&&&&&&&&&&&& &value name=&error_log&&/usr/local/php/logs/php-fpm.log&/value&
&&&& 14&&&&&&&&&&&&&&&& Log level
&&&& 15&&&&&&&&&&&&&&&& &value name=&log_level&&notice&/value&
&&&& 17&&&&&&&&&&&&&&&& When this amount of php processes exited with SIGSEGV or SIGBUS ...
&&&& 18&&&&&&&&&&&&&&&& &value name=&emergency_restart_threshold&&10&/value&
&&&& 20&&&&&&&&&&&&&&&& ... in a less than this interval of time, a graceful restart will be initiated.
&&&& 21&&&&&&&&&&&&&&&& Useful to work around accidental curruptions in accelerator's shared memory.
&&&& 22&&&&&&&&&&&&&&&& &value name=&emergency_restart_interval&&1m&/value&
&&&& 24&&&&&&&&&&&&&&&& Time limit on waiting child's reaction on signals from master
&&&& 25&&&&&&&&&&&&&&&& &value name=&process_control_timeout&&5s&/value&
&&&& 27&&&&&&&&&&&&&&&& Set to 'no' to debug fpm
&&&& 28&&&&&&&&&&&&&&&& &value name=&daemonize&&yes&/value&
&&&& 30&&&&&&&& &/section&
&&&& 32&&&&&&&& &workers&
&&&& 34&&&&&&&&&&&&&&&& &section name=&pool&&
&&&& 36&&&&&&&&&&&&&&&&&&&&&&&& Name of pool. Used in logs and stats.
&&&& 37&&&&&&&&&&&&&&&&&&&&&&&& &value name=&name&&default&/value&
&&&& 39&&&&&&&&&&&&&&&&&&&&&&&& Address to accept fastcgi requests on.
&&&& 40&&&&&&&&&&&&&&&&&&&&&&&& Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
&&&& 41&&&&&&&&&&&&&&&&&&&&&&&& &value name=&listen_address&&127.0.0.1:9000&/value&
&&&& 43&&&&&&&&&&&&&&&&&&&&&&&& &value name=&listen_options&&
&&&& 45&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Set listen(2) backlog
&&&& 46&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&backlog&&-1&/value&
&&&& 48&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Set permissions for unix socket, if one used.
&&&& 49&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& In Linux read/write permissions must be set in order to allow connections from web server.
&&&& 50&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Many BSD-derrived systems allow connections regardless of permissions.
&&&& 51&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&owner&&&/value&
&&&& 52&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&group&&&/value&
&&&& 53&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&mode&&0666&/value&
&&&& 54&&&&&&&&&&&&&&&&&&&&&&&& &/value&
&&&& 56&&&&&&&&&&&&&&&&&&&&&&&& Additional php.ini defines, specific to this pool of workers.
&&&& 57&&&&&&&&&&&&&&&&&&&&&&&& &value name=&php_defines&&
&&&& 58&&&&&&&&&&&&&&&& &!--&&&&&&&&&&& &value name=&sendmail_path&&/usr/sbin/sendmail -t -i&/value&&&&&&&&&&&& --&
&&&& 59&&&&&&&&&&&&&&&& &!--&&&&&&&&&&& &value name=&display_errors&&0&/value&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& --&
&&&& 60&&&&&&&&&&&&&&&&&&&&&&&& &/value&
&&&& 62&&&&&&&&&&&&&&&&&&&&&&&& Unix user of processes
&&&& 63&&&&&&&&&&&&&&&& &!--&&& &value name=&user&&www&/value&&&&&&&&&&&&&&&&&&&&&&&&&& --&
&&&& 65&&&&&&&&&&&&&&&&&&&&&&&& Unix group of processes
&&&& 66&&&&&&&&&&&&&&&& &!--&&& &value name=&group&&www&/value&&&&&&&&& --&
&&&& 68&&&&&&&&&&&&&&&&&&&&&&&& Process manager settings
&&&& 69&&&&&&&&&&&&&&&&&&&&&&&& &value name=&pm&&
&&&& 71&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Sets style of controling worker process count.
&&&& 72&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Valid values are 'static' and 'apache-like'
&&&& 73&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&style&&static&/value&
&&&& 75&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Sets the limit on the number of simultaneous requests that will be served.
&&&& 76&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Equivalent to Apache MaxClients directive.
&&&& 77&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
&&&& 78&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Used with any pm_style.
&&&& 79&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&max_children&&64&/value&(如果机器内存小于3G,可以设置64个进程)
&&&& 81&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Settings group for 'apache-like' pm style
&&&& 82&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&apache_like&&
&&&& 84&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Sets the number of server processes created on startup.
&&&& 85&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Used only when 'apache-like' pm_style is selected
&&&& 86&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&StartServers&&20&/value&
&&&& 88&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Sets the desired minimum number of idle server processes.
&&&& 89&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Used only when 'apache-like' pm_style is selected
&&&& 90&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&MinSpareServers&&5&/value&
&&&& 92&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Sets the desired maximum number of idle server processes.
&&&& 93&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Used only when 'apache-like' pm_style is selected
&&&& 94&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&MaxSpareServers&&35&/value&
&&&& 96&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &/value&
&&&& 98&&&&&&&&&&&&&&&&&&&&&&&& &/value&
&&& 100&&&&&&&&&&&&&&&&&&&&&&&& The timeout (in seconds) for serving a single request after which the worker process will be terminated
&&& 101&&&&&&&&&&&&&&&&&&&&&&&& Should be used when 'max_execution_time' ini option does not stop script execution for some reason
&&& 102&&&&&&&&&&&&&&&&&&&&&&&& '0s' means 'off'
&&& 103&&&&&&&&&&&&&&&&&&&&&&&& &value name=&request_terminate_timeout&&0s&/value&
&&& 105&&&&&&&&&&&&&&&&&&&&&&&& The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
&&& 106&&&&&&&&&&&&&&&&&&&&&&&& '0s' means 'off'
&&& 107&&&&&&&&&&&&&&&&&&&&&&&& &value name=&request_slowlog_timeout&&0s&/value&
&&& 109&&&&&&&&&&&&&&&&&&&&&&&& The log file for slow requests
&&& 110&&&&&&&&&&&&&&&&&&&&&&&& &value name=&slowlog&&logs/slow.log&/value&
&&& 112&&&&&&&&&&&&&&&&&&&&&&&& Set open file desc rlimit
&&& 113&&&&&&&&&&&&&&&&&&&&&&&& &value name=&rlimit_files&&65535&/value&
&&& 115&&&&&&&&&&&&&&&&&&&&&&&& Set max core size rlimit
&&& 116&&&&&&&&&&&&&&&&&&&&&&&& &value name=&rlimit_core&&0&/value&
&&& 118&&&&&&&&&&&&&&&&&&&&&&&& Chroot to this directory at the start, absolute path
&&& 119&&&&&&&&&&&&&&&&&&&&&&&& &value name=&chroot&&&/value&
&&& 121&&&&&&&&&&&&&&&&&&&&&&&& Chdir to this directory at the start, absolute path
&&& 122&&&&&&&&&&&&&&&&&&&&&&&& &value name=&chdir&&&/value&
&&& 124&&&&&&&&&&&&&&&&&&&&&&&& Redirect workers' stdout and stderr into main error log.
&&& 125&&&&&&&&&&&&&&&&&&&&&&&& If not set, they will be redirected to /dev/null, according to FastCGI specs
&&& 126&&&&&&&&&&&&&&&&&&&&&&&& &value name=&catch_workers_output&&yes&/value&
&&& 128&&&&&&&&&&&&&&&&&&&&&&&& How much requests each process should execute before respawn.
&&& 129&&&&&&&&&&&&&&&&&&&&&&&& Useful to work around memory leaks in 3rd party libraries.
&&& 130&&&&&&&&&&&&&&&&&&&&&&&& For endless request processing please specify 0
&&& 131&&&&&&&&&&&&&&&&&&&&&&&& Equivalent to PHP_FCGI_MAX_REQUESTS
&&& 132&&&&&&&&&&&&&&&&&&&&&&&& &value name=&max_requests&&500&/value&
&&& 134&&&&&&&&&&&&&&&&&&&&&&&& Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
&&& 135&&&&&&&&&&&&&&&&&&&&&&&& Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
&&& 136&&&&&&&&&&&&&&&&&&&&&&&& Makes sense only with AF_INET listening socket.
&&& 137&&&&&&&&&&&&&&&&&&&&&&&& &value name=&allowed_clients&&127.0.0.1&/value&
&&& 139&&&&&&&&&&&&&&&&&&&&&&&& Pass environment variables like LD_LIBRARY_PATH
&&& 140&&&&&&&&&&&&&&&&&&&&&&&& All $VARIABLEs are taken from current environment
&&& 141&&&&&&&&&&&&&&&&&&&&&&&& &value name=&environment&&
&&& 142&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&HOSTNAME&&$HOSTNAME&/value&
&&& 143&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&PATH&&/usr/local/bin:/usr/bin:/bin&/value&
&&& 144&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&TMP&&/tmp&/value&
&&& 145&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&TMPDIR&&/tmp&/value&
&&& 146&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&TEMP&&/tmp&/value&
&&& 147&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&OSTYPE&&$OSTYPE&/value&
&&& 148&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&MACHTYPE&&$MACHTYPE&/value&
&&& 149&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &value name=&MALLOC_CHECK_&&2&/value&
&&& 150&&&&&&&&&&&&&&&&&&&&&&&& &/value&
&&& 152&&&&&&&&&&&&&&&& &/section&
&&& 154&&&&&&&& &/workers&
&&& 156 &/configuration&
(9)、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为64
把配置文件的63行和66行修改如下:
&&&& 62&&&&&&&&&&&&&&&&&&&&&&&& Unix user of processes
&&&& 63&&&&&&&&&&&&&&&&&& &value name=&user&&www&/value&&&&&&&&&&&&&&&&&&&&&&
&&&& 65&&&&&&&&&&&&&&&&&&&&&&&& Unix group of processes
&&&& 66&&&&&&&&&&&&&&&&& &value name=&group&&www&/value&&&&&&
切记要把63行和66行的注释符号去掉不然在启动时会出错的!
[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'
[root@nginx ~]# /usr/local/php/sbin/php-fpm start
Starting php_fpm . done
[root@nginx nginx]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address&&&&&&&&&&&&&& Foreign Address&&&&&&&&&&&& State&&&&&& PID/Program name
tcp&&&&&&& 0&&&&& 0 127.0.0.1:2208&&&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&& LISTEN&&&&& 2630/hpiod
tcp&&&&&&& 0&&&&& 0 0.0.0.0:833&&&&&&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&& LISTEN&&&&& 2347/rpc.statd
tcp&&&&&&& 0&&&&& 0 127.0.0.1:9000&&&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&& LISTEN&&&&& 5285/php-cgi
3、安装nginx
(1)、安装nginx及所需要的pcre库
[root@nginx pcre-8.10]# ./configure
[root@nginx pcre-8.10]# make
[root@nginx pcre-8.10]# make install
[root@nginx install_packet]# cd nginx-0.8.48/
[root@nginx nginx-0.8.48]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@nginx nginx-0.8.48]#make
[root@nginx nginx-0.8.48]#make install
(2)、创建nginx的日志文件
[root@nginx /]# mkdir -p web/nginxlogs
[root@nginx /]# chmod +w web/nginxlogs/
[root@nginx /]# chown -R www:www web/nginxlogs/
(3)、修改nginx的配置文件如下:
&&&&& 3 worker_processes& 1;
&&&&& 4 error_log && /web/nginxlogs/error.log&
&&&&& 5 pid&&&&&&& /usr/local/nginx/nginx.
&&&&& 6 worker_rlimit_nofile 65535;
&&&&& 7 events {
&&&&& 8&&&&
&&&&& 9&&&& worker_connections& 1024;
&&&& 13 http {
&&&& 14&&&& include&&&&&& mime.
&&&& 15&&&& default_type& application/octet-
&&&& 17&&&& server_names_hash_bucket_size 128;
&&&& 18&&&& client_header_buffer_size 32k;
&&&& 19&&&& large_client_header_buffers 4 32k;
&&&& 20&&&& client_max_body_size 8m;
&&&& 23&&&& sendfile&&&&&&&
&&&& 24&&&& tcp_nopush&&&&
&&&& 26&&&& #keepalive_timeout& 0;
&&&& 27&&&& keepalive_timeout& 60;
&&&& 28&&&& tcp_nodelay&&&
&&&& 30&&&& fastcgi_connect_timeout 300;
&&&& 31&&&& fastcgi_send_timeout&&& 300;
&&&& 32&&&& fastcgi_read_timeout&&&& 300;
&&&& 33&&&& fastcgi_buffer_size&&&& 64k;
&&&& 34&&&& fastcgi_buffers&&&&&& 4 64k;
&&&& 35&&&& fastcgi_busy_buffers_size 128k;
&&&& 36&&&& fastcgi_temp_file_write_size 128k;
&&&& 38&&&& gzip&
&&&& 39&&&& gzip_min_length&&&&&&& 1k;
&&&& 40&&&& gzip_buffers&&&&& 4&&& 16k;
&&&& 41&&&& gzip_http_version&&&&& 1.0;
&&&& 42&&&& gzip_comp_level& 2;
&&&& 43&&&& gzip_types& text/plain application/x-javascript text/css application/&&
& && 44&&&& gzip_
&&&& 46&&&& server {
&&&& 47&&&&&&&& listen&&&&&& 80;
&&&& 48&&&&&&&& server_name& ;
&&&& 49&&&&&&&& root&& /web/htdocs/;
&&&& 50&&&&&&&& index& index.html index.htm index.
&&&& 52&&&&&&&& location ~.*\.(php|php5)?$ {
&&&& 53&&&&&&&&&&&&& fastcgi_pass&& 127.0.0.1:9000;
&&&& 54&&&&&&&&&&&&& fastcgi_index& index.
&&&& 55&&&&&&&&&&&&& include&&&&&&& fastcgi.
&&&& 56&&&&&&&& }
&&&& 58&&&&&&&& location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
&&&& 59&&&&&&&& {
&&&& 60&&&&&&&&&&&& expires&&& 30d;
&&&& 61&&&&&&&& }
&&&& 62&&&&&&&& location ~.*\.(js|css)$
&&&& 63&&&&&&&& {
&&&& 64&&&&&&&&&&&& expires&&& 1h;
&&&& 65&&&&&&&& }
&&&& 66&&&&&&&& log_format& wwwaccess& '$remote_addr - $remote_user [$time_local] &$request& '
&&&& 67&&&&&&&&&&&&&&&&&&&&&&&&&&&& '$status $body_bytes_sent &$http_referer& '
&&&& 68&&&&&&&&&&&&&&&&&&&&&&&&&&&& '&$http_user_agent& $http_x_forwarded_for';
&&&& 69&&&&&&&& access_log& /web/nginxlogs/wwwaccess.log&
&&&& 73&&& server {
&&&& 74&&&&&&&&& listen&&&&&& 80;
&&&& 75&&&&&&&&& server_name& ;
&&&& 76&&&&&&&&& root&& /web/htdocs/;
&&&& 77&&&&&&&&& index& index.html index.htm index.
&&&& 78&&&&&&&&& location ~.*\.(php|php5)?$
&&&& 79&&&&&&&&& {
&&&& 80&&&&&&&&& fastcgi_pass&& 127.0.0.1:9000;
&&&& 81&&&&&&&&& fastcgi_index& index.
&&&& 82&&&&&&&&& include&&&&&&& fastcgi.
&&&& 83&&&&&&&&& }
&&&& 84&&&& log_format& webaccess& '$remote_addr - $remote_user [$time_local] &$request&'
&&&& 85&&&&&&&&&&&&&&&&&&&&&&&& '$status $body_bytes_sent &$http_referer&'
&&&& 86&&&&&&&&&&&&&&&&&&&&&&&& '&$http_user_agent& $http_x_forwarded_for';
&&&& 87&&&&& access_log& /web/nginxlogs/webaccess.log&
&&&& 88&&&& }
(4)、保持conf/下fastcgi.conf配置文件不变就可以了
(5)、启动nginx
[root@nginx nginx]#/usr/
&[root@nginx nginx]# /usr/local/nginx/sbin/nginx
(6)、开机启动nginx 与php
[root@nginx nginxlogs]# vi /etc/rc.local
ulimit -SHn 65535
/usr/local/php/sbin/php-fpm start
/usr/local/nginx/sbin/nginx
(7)修改文件中先检查配置文件是否正确,然后在启动
[root@nginx nginxlogs]# /usr/local/nginx/sbin/nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx nginxlogs]# kill -HUP `cat /usr/local/nginx/nginx.pid`
[root@nginx nginxlogs]# /usr/loca/nginx/sbin/nginx -s reload
在的文档目录中
[root@nginx ]# vi index.php/
&?php& phpinfo(); ?&
类似的在中新建一个index.php文件:
基本上算是完成了涨老师的实验配置
了这篇文章
类别:┆阅读(0)┆评论(0)
10:56:38 &&1&
&&页数 ( 1/3 ) &}

我要回帖

更多关于 nginx pdo mysql 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信