CentOS6.5 编译搭建类似淘宝大型交互网站 LTMP 详细步
这篇文章最后更新于3802天前,您需要注意相关的内容是否还可用,如有疑问请联系作者!
L:linux
T:tengine
M:mysql
P:php
第一步:安装系统环境需要的软件
yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-libs krb5-devel krb5-server libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
第二步:编译安装PHP所需要的库
mkdir -p /data/soft
mkdir -p /data/src
cd /data/src
wget http://lcmp.googlecode.com/files/libiconv-1.13.1.tar.gz
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local
make && make install
cd ..
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install
cd ../../
wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2/download
tar jxvf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make && make install
echo "/usr/local/lib" >>/etc/ld.so.conf
/sbin/ldconfig
cd ..
wget http://vps.googlecode.com/files/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
./configure
make && make install
第三步:编译安装mysql
cd /data/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.72.tar.gz/from/http://cdn.mysql.com/
tar zxvf mysql-5.1.72.tar.gz
cd mysql-5.1.72
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
./configure --prefix=/data/soft/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile
make && make install
chown -R mysql:mysql /data/soft/mysql
chmod u+w /data/soft/mysql
mkdir -p /data/database
chown -R mysql:mysql /data/database
以mysql用户帐号的身份建立数据表:
/data/soft/mysql/bin/mysql_install_db --basedir=/data/soft/mysql --datadir=/data/database --user=mysql
创建mysql配置文件
内容如下:
修改mysqld脚本
以mysql用户帐号的身份建立数据表:
/data/soft/mysql/bin/mysql_install_db --basedir=/data/soft/mysql --datadir=/data/database --user=mysql
创建mysql配置文件
rm -rf /data/soft/mysql/my.cnf
vi /data/soft/mysql/my.cnf
内容如下:
|
修改mysqld脚本
cp /data/soft/mysql/share/mysql/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
修改
修改
basedir=/data/soft/mysql
datadir=/data/database
ln -s /data/soft/mysql/my.cnf /etc/my.cnf
启动mysql
启动mysql
service mysqld start
lsof -i:3306
netstat -ntupl |grep 3306
测试登录mysql
测试登录mysql
/data/soft/mysql/bin/mysql -u root -p
mysql> createdatabase hello;
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list |grep mysqld
service mysqld restart
第四步:编译安装PHP(FastCGI)
1、安装php-5.2.17
第四步:编译安装PHP(FastCGI)
1、安装php-5.2.17
cd /data/src
wget http://cn2.php.net/get/php-5.2.17.tar.gz/from/this/mirror
wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
wget http://www.92csz.com/downloads/php-5.2.17-max-input-vars.patch
tar zxvf php-5.2.17.tar.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17
patch -p1 < ../php-5.2.17-max-input-vars.patch
sed -i "s/\!png_check_sig (sig, 8)/png_sig_cmp (sig, 0, 8)/" ext/gd/libgd/gd_png.c
cp ../fopen_wrappers.c main/ 此处参考FreeBSD下php修改源代码解决nginx虚拟主机防webshell跨目录
./configure --prefix=/data/soft/php --with-config-file-path=/data/soft/php/etc --with-mysql=/data/soft/mysql --with-mysqli=/data/soft/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
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-dist /data/soft/php/etc/php.ini
cd ..
2、编译安装PHP5扩展模块
2、编译安装PHP5扩展模块
wget http://pecl.php.net/get/memcache-2.2.6.tgz
tar zxvf memcache-2.2.6.tgz
cd memcache-2.2.6/
/data/soft/php/bin/phpize
./configure --with-php-config=/data/soft/php/bin/php-config
make && make install
cd ..
wget http://lcmp.googlecode.com/files/eaccelerator-0.9.6.1.tar.bz2
tar jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1/
/data/soft/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/data/soft/php/bin/php-config --without-eaccelerator-use-inode
make && make install
cd ..
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/data/soft/php/bin/phpize
./configure --with-php-config=/data/soft/php/bin/php-config --with-pdo-mysql=/data/soft/mysql
make && make install
cd ..
wget http://launchpadlibrarian.net/73608965/ImageMagick-6.7.0-8.tar.gz
tar zxvf ImageMagick-6.7.0-8.tar.gz
cd ImageMagick-6.7.0-8
./configure
make && make install
cd ..
wget http://pecl.php.net/get/imagick-3.0.1.tgz
tar zxvf imagick-3.0.1.tgz
cd imagick-3.0.1
/data/soft/php/bin/phpize
./configure --with-php-config=/data/soft/php/bin/php-config
make && make install
cd ..
3、修改php.ini文件
3、修改php.ini文件
sed -i "s/output_buffering = Off/output_buffering = On/" /data/soft/php/etc/php.ini
sed -i "s/extension_dir =/; extension_dir =/" /data/soft/php/etc/php.ini
sed -i "s/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/" /data/soft/php/etc/php.ini
sed -i 's%;open_basedir =%open_basedir ="/tmp/:/data/www/"%' /data/soft/php/etc/php.ini
sed -i "s/disable_functions =/disable_functions = popen,pentl_exec,passthru,exec,system,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,show_source,escapeshellcmd,escapeshellarg,curl_exec,curl_multi_exec,parse_ini_file,assert/" /data/soft/php/etc/php.ini
sed -i "s/expose_php = On/expose_php = Off/" /data/soft/php/etc/php.ini
sed -i "s/display_errors = On/display_errors = Off/" /data/soft/php/etc/php.ini
sed -i "s/log_errors = Off/log_errors = On/" /data/soft/php/etc/php.ini
在php.ini最后添加如下:
4、创建eAccelerator缓存目录
5、创建php-fpm.conf文件
在php.ini最后添加如下:
extension_dir = "/data/soft/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "memcache.so"
extension = "pdo_mysql.so"
extension = "imagick.so"
[eaccelerator]
zend_extension="/data/soft/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="1"
eaccelerator.cache_dir="/data/soft/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "disk_only"
eaccelerator.sessions = "disk_only"
eaccelerator.content = "disk_only"
4、创建eAccelerator缓存目录
mkdir -p /data/soft/eaccelerator_cache
5、创建php-fpm.conf文件
rm /data/soft/php/etc/php-fpm.conf
vi /data/soft/php/etc/php-fpm.conf
内容如下:
6、创建www用户及启动php-fpm并加入启动脚本
内容如下:
|
6、创建www用户及启动php-fpm并加入启动脚本
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /data/www
chown -R www:www /data/www
chmod +w /data/www
ulimit -SHn 65535
/data/soft/php/sbin/php-fpm start
echo "ulimit -SHn 65535" >> /etc/rc.local
echo "/data/soft/php/sbin/php-fpm start" >> /etc/rc.local
第五步、编译安装Tengine
安装pcre #支持Tengine伪静态
第五步、编译安装Tengine
安装pcre #支持Tengine伪静态
cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz tar zxvf pcre-8.33.tar.gz mkdir /usr/local/pcre #创建安装目录 cd pcre-8.33 ./configure --prefix=/usr/local/pcre #配置 make make install 安装openssl
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar zxvf openssl-1.0.1e cd openssl-1* ./configure make &&make install 安装 tengine
cd /usr/local/src wget http://tengine.taobao.org/download/tengine-1.4.6.tar.gz tar zxvf tengine-1.4.6.tar.gz cd tengine-1.4.6 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl=/usr/local/src/openssl-1.0.1e --with-pcre=/usr/local/src/pcre-8.33
make make install /usr/local/nginx/sbin/nginx #启动 chown nobody.nobody -R /usr/local/nginx/html chmod 700 -R /usr/local/nginx/html 设置tengine开启启动
vi /etc/rc.d/init.d/nginx #编辑启动文件添加下面内容
|
保存退出
chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限 chkconfig nginx on #设置开机启动 /etc/rc.d/init.d/nginx restart service nginx restart 至此 功能强大的 WEB服务器就配置好了。
文章版权声明:除非注明,否则均为IT技术交流分享 IDC管理计费系统 私有云管理系统 PVE管理系统 私有云系统原创文章,转载或复制请以超链接形式并注明出处。