W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
目前服務(wù)器架構(gòu)通常采用:CentOs + Nginx + php-fpm + MySql [+ Memcached],現(xiàn)將部署方案安裝方法、遇到的問題和解決方法、啟動方式總結(jié)如下,以便后期服務(wù)器快速部署。
以下文檔的是經(jīng)過幾個深夜整理并在阿里云服務(wù)器真實部署通過,運行良好,整個過程熟悉后約共半小時,可以進一步考慮做成自動化部署腳本。
如是,請把腳本也郵件發(fā)我一份。^_^
安裝包存放位置:/home/apps/web/
特別注意:請盡量不要使用root賬號操作服務(wù)器,特別是對外服務(wù)器,謝謝。
yum -y install 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 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
# nginx
yum -y install pcre-devel zlib-devel
# php
yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel
# mysql
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel
# sz rz
yum install lrzsz
http://wiki.nginx.org/Install
./configure --prefix=/usr/local/nginx
make
make install
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
server {
listen 80;
server_name test.wetime.com;
root /home/apps/projects/test.wetime.com;
charset utf-8;
access_log logs/test.wetime.com.access.log;
error_log logs/test.wetime.com.error.log;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
http://blog.csdn.net/dc_726/article/details/9519619
./configure --prefix=/usr/local/php --with-mcrypt --with-zlib --with-curl --with-gd --disable-debug --enable-fpm --enable-mbstring --enable-sockets --enable-zip --enable-xml --enable-pdo
如果提示以下錯誤:
If configure fails try --with-jpeg-dir=<DIR>
configure: error: libpng.(a|so) not found.
則需要執(zhí)行以下命令:
cp -frp /usr/lib64/libjpeg.* /usr/lib/
ln -s /usr/lib64/libpng.so /usr/lib/libpng.so
yum install libmcrypt libmcrypt-devel mcrypt mhash
yum install unixODBC-devel
/usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini
/usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini -t
killall php
/usr/local/php/sbin/php-fpm -y=/usr/local/php/etc/php-fpm.conf -c=/usr/local/php/etc/php.ini
cp -frp /usr/lib64/libjpeg.* /usr/lib/
ln -s /usr/lib64/libpng.so /usr/lib/libpng.so
yum install libmcrypt libmcrypt-devel mcrypt mhash
yum install unixODBC-devel
我們可以在命令下輸入:
yum localinstall –nogpgcheck http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum localinstall –nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm
yum localinstall –nogpgcheck http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm
安裝這3個東東后,我們就可以直接使用yum install libmcrypt來安裝啦~
#安裝mysql擴展
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql/
make
make install
#安裝mysqli擴展
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
make
make install
擴展包位置在./php-5.3.5/ext/mysql,需要使用到 /usr/local/php/bin/phpize,擴展so應(yīng)該放到:/usr/lib/php/modules/
此外,
#PHP之pdo_mysql擴展安裝步驟
# http://www.smallbigcake.com/2012/08/05/1572/
# http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
如果提示“l(fā)ibmysqlclient.so.18: cannot open shared object file: No such file or directory in ”錯誤則參考 :http://blog.itpub.net/26230597/viewspace-1161322/,
或進行軟鏈:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
http://www.cnblogs.com/xiongpq/p/3384681.html
http://pan.baidu.com/share/link?shareid=3729862999&uk=1327790029
rpm -e mysql //普通刪除模式
rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
#去掉干擾的配置
mv /etc/my.cnf /etc/my.cnf.bak
#添加日志紀錄
vim /usr/local/mysql/my.cnf
log-error=/var/log/mysqld.log
innodb_force_recovery=1
http://www.memcached.org/downloads
http://crtlib.blog.163.com/blog/static/133158013201392661912837/
./configure --prefix=/usr/local/libevent/
make
make install
wget http://memcached.org/latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x ./configure && make && make test && sudo make install
/usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 128 -P /tmp/memcached.pid
#http://blog.sina.com.cn/s/blog_66ac09390101drxc.html
#http://www.linuxidc.com/Linux/2013-07/87743.htm
#準備依賴包
./configure --prefix=/usr/local/libmemcached --with-memcached
make
make install
#安裝 擴展
/usr/local/php/bin/pecl install memcached
接著輸入
libmemcached directory [no] : /usr/local/libmemcached
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: