tengine php mysql_安装Tengine php mysql

安装Tengine php mysql

系统环境:

[root@web02 soft]# lsb_release -a

LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch

Distributor ID: CentOS

Description: CentOS release 5.9 (Final)

Release: 5.9

Codename: Final

[root@web02 soft]# cat /etc/redhat-release

CentOS release 5.9 (Final)

[root@web02 soft]# uname -a

Linux web02 2.6.18-348.el5 #1 SMP Tue Jan 8 17:53:53 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

系统采用163 epel源,已经清除32位包

软件版本:

Tengine.1.4.4

php 5.3.24

mysql 5.5.31

libiconv 1.14

libmcrypt 2.5.8

mhash 0.9.9.9[root@web02 ~]# mkdir soft

[root@web02 ~]# cd soft

[root@web02 soft]# wget http://tengine.taobao.org/download/tengine-1.4.4.tar.gz

[root@web02 soft]# wget http://cn2.php.net/get/php-5.3.24.tar.gz/from/this/mirror

[root@web02 soft]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.31-linux2.6-x86_64.tar.gz/from/http://cdn.mysql.com/

[root@web02 soft]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

[root@web02 soft]# wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download

[root@web02 soft]# wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download

安装Tengine

[root@web02 soft]# useradd www -s /sbin/nologin

[root@web02 soft]# yum -y install pcre* gcc* libxml2-devel gd-devel openssl-devel curl*

[root@web02 soft]# tar xf tengine-1.4.4.tar.gz

[root@web02 soft]# cd tengine-1.4.4

[root@web02 tengine-1.4.4]# ./configure --user=www --group=www --prefix=/usr/local/tengine --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_upstream_check_module --with-pcre

[root@web02 tengine-1.4.4]# make && make install

[root@web02 tengine-1.4.4]# vim /usr/local/tengine/conf/fcgi.conf

if ($request_filename ~* (.*)\.php) {

set $php_url $1;

}

if (!-e $php_url.php) {

return 403;

}

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with--enable-force-cgi-redirect

fastcgi_param REDIRECT_STATUS 200;

安装mysql

[root@web02 soft]# useradd mysql -s /sbin/nologin

[root@web02 soft]# tar xf mysql-5.5.31-linux2.6-x86_64.tar.gz -C /usr/local/

[root@web02 local]# ln -sv mysql-5.5.31-linux2.6-x86_64/ mysql

create symbolic link `mysql' to `mysql-5.5.31-linux2.6-x86_64/'

[root@web02 local]# cd mysql

[root@web02 mysql]# scripts/mysql_install_db --user=mysql

[root@web02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@web02 mysql]# cp support-files/my-huge.cnf /etc/my.cnf

[root@web02 mysql]# /etc/init.d/mysqld start

Starting MySQL... [ OK ]

[root@web02 mysql]# echo 'PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile

[root@web02 mysql]# mysql

安装php

在安装之前呢 我们需要安装libiconv libmcrypt mhash

[root@web02 soft]# tar xf libiconv-1.14.tar.gz

[root@web02 soft]# tar xf mhash-0.9.9.9.tar.gz

[root@web02 soft]# tar xf php-5.3.24.tar.gz

[root@web02 soft]# tar xf libmcrypt-2.5.8.tar.gz

[root@web02 soft]# cd libiconv-1.14

[root@web02 libiconv-1.14]# ./configure

[root@web02 libiconv-1.14]# make && make install

[root@web02 libiconv-1.14]# cd ../mhash-0.9.9.9

[root@web02 mhash-0.9.9.9]# ./configure

[root@web02 mhash-0.9.9.9]# make && make install

[root@web02 mhash-0.9.9.9]# cd ../libmcrypt-2.5.8

[root@web02 libmcrypt-2.5.8]# ./configure

[root@web02 libmcrypt-2.5.8]# make && make install

[root@web02 libmcrypt-2.5.8]# cd libltdl/

[root@web02 libltdl]# ./configure --with-gmetad --enable-gexec --enable-ltdl-install

[root@web02 libltdl]# make && make install

[root@web02 libltdl]# vim /etc/ld.so.conf.d/lib.conf

/usr/local/lib/

/usr/local/mysql/lib

[root@web02 libltdl]# ldconfig

正式安装php

[root@web02 soft]# cd php-5.3.24

[root@web02 php-5.3.24]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --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-soap --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --with-gettext

[root@web02 php-5.3.24]# make ZEND_EXTRA_LIBS='-liconv'

[root@web02 php-5.3.24]# make install

[root@web02 php-5.3.24]# cp php.ini-production /usr/local/php/etc/php.ini

[root@web02 php-5.3.24]# cd /usr/local/php/etc/

[root@web02 etc]# cp php-fpm.conf.default php-fpm.conf

[root@web02 etc]# vim php-fpm.conf

pid = /usr/local/php/var/run/php-fpm.pid

user = www

group = www

添加Tengine让其支持php[root@web02 etc]# vim /usr/local/tengine/conf/nginx.conf

server

{

listen 80;

server_name www.yoursite.com;

indexindex.htm index.html index.php;

root /var/www/html/yoursite;

error_page 404 = http://www.yoursite.com/404.html;

location ~ .*\.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

}

这样就支持php了

附: php启动脚本 Tengine启动脚本

php-fpm启动脚本

#! /bin/sh

### BEGIN INIT INFO

# Provides: php-fpm

# Required-Start: $remote_fs $network

# Required-Stop: $remote_fs $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: starts php-fpm

# Description: starts the PHP FastCGI Process Manager daemon

### END INIT INFO

prefix=/usr/local/php

exec_prefix=${prefix}

php_fpm_BIN=${exec_prefix}/sbin/php-fpm

php_fpm_CONF=${prefix}/etc/php-fpm.conf

php_fpm_PID=${prefix}/var/run/php-fpm.pid

php_opts="--fpm-config $php_fpm_CONF"

wait_for_pid () {

try=0

while test $try -lt 35 ; do

case"$1"in

'created')

if [ -f "$2" ] ; then

try=''

break

fi

;;

'removed')

if [ ! -f "$2" ] ; then

try=''

break

fi

;;

esac

echo -n .

try=`expr $try + 1`

sleep 1

done

}

case"$1"in

start)

echo -n "Starting php-fpm "

$php_fpm_BIN $php_opts

if [ "$?" != 0 ] ; then

echo " failed"

exit 1

fi

wait_for_pid created $php_fpm_PID

if [ -n "$try" ] ; then

echo " failed"

exit 1

else

echo " done"

fi

;;

stop)

echo -n "Gracefully shutting down php-fpm "

if [ ! -r $php_fpm_PID ] ; then

echo "warning, no pid file found - php-fpm is not running ?"

exit 1

fi

kill -QUIT `cat $php_fpm_PID`

wait_for_pid removed $php_fpm_PID

if [ -n "$try" ] ; then

echo " failed. Use force-quit"

exit 1

else

echo " done"

fi

;;

force-quit)

echo -n "Terminating php-fpm "

if [ ! -r $php_fpm_PID ] ; then

echo "warning, no pid file found - php-fpm is not running ?"

exit 1

fi

kill -TERM `cat $php_fpm_PID`

wait_for_pid removed $php_fpm_PID

if [ -n "$try" ] ; then

echo " failed"

exit 1

else

echo " done"

fi

;;

restart)

$0 stop

$0 start

;;

reload)

echo -n "Reload service php-fpm "

if [ ! -r $php_fpm_PID ] ; then

echo "warning, no pid file found - php-fpm is not running ?"

exit 1

fi

kill -USR2 `cat $php_fpm_PID`

echo " done"

;;

*)

echo "Usage: $0 {start|stop|force-quit|restart|reload}"

exit 1

;;

esac

nginx启动脚本

#! /bin/sh

# chkconfig: 2345 55 25

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and

# run 'update-rc.d -f nginx defaults', or use the appropriate command on your

# distro. For CentOS/Redhat run: 'chkconfig --add nginx'

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DESC="nginx daemon"

NAME=nginx

DAEMON=/usr/local/tengine/sbin/$NAME

CONFIGFILE=/usr/local/tengine/conf/$NAME.conf

PIDFILE=/usr/local/tengine/logs/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

set -e

[ -x "$DAEMON" ] || exit 0

do_start() {

$DAEMON -c $CONFIGFILE || echo -n "nginx already running"

}

do_stop() {

kill -INT `cat $PIDFILE` || echo -n "nginx not running"

}

do_reload() {

kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"

}

case"$1"in

start)

echo -n "Starting $DESC: $NAME"

do_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

do_stop

echo "."

;;

reload|graceful)

echo -n "Reloading $DESC configuration..."

do_reload

echo "."

;;

restart)

echo -n "Restarting $DESC: $NAME"

do_stop

do_start

echo "."

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2

exit 3

;;

esac

exit 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值