亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 21637 | 回復(fù): 3
打印 上一主題 下一主題

LEMP構(gòu)建高性能WEB服務(wù)器(第三版) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-09-13 16:05 |只看該作者 |倒序?yàn)g覽
LEMP構(gòu)建高性能WEB服務(wù)器(第三版)



LEMP 自動(dòng)化編譯腳本下載:http://docs.linuxtone.org/autoinstall/ (定期更新,歡迎多測試,找bug)
介紹參考:http://bbs.linuxtone.org/thread-6976-1-1.html

作者:NetSeek http://www.linuxtone.org
(IT運(yùn)維專家網(wǎng)|集群架構(gòu)|性能調(diào)優(yōu))
歡迎轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明.
更新時(shí)間:2009-01-5

平臺(tái)搭建環(huán)境:
CentOS5.2 32/x86_64 GNU/Linux (32/64操作系統(tǒng)均通過,推薦使用64位操作系統(tǒng))

目標(biāo):構(gòu)建高性的LEMP環(huán)境提供WEB服務(wù)

一、系統(tǒng)安裝
1. 系統(tǒng)分區(qū)建議
/boot 100M (大約100左右)
SWAP         物理內(nèi)存的2倍(如果你的物理內(nèi)存大于4G,分配4G即可)
/            分區(qū)15~20G
/usr/local 20G     (用于安裝軟件)
/data                 剩余所有空間.

【注】具體分區(qū)請(qǐng)根據(jù)相關(guān)業(yè)務(wù)劃分,具體安裝本文不作介紹安裝過程中選擇最少的包,采用文本模式安裝請(qǐng)不要安裝圖形。

2.系統(tǒng)初始化
系統(tǒng)初始化腳本(根據(jù)具體需求關(guān)閉不需要的服務(wù))
# shinit_network.sh            //下載本文提供的scripts.tar.gz包,即可找到此腳本.

二、編譯安裝基本環(huán)境
1. 安裝準(zhǔn)備
1.1系統(tǒng)軟件包安裝規(guī)范
系統(tǒng)約定
軟件源代碼包存放位置      /usr/local/src
源碼包編譯安裝位置(prefix)    /usr/local/software_name
腳本以及維護(hù)程序存放位置   /usr/local/sbin
MySQL 數(shù)據(jù)庫位置     /data/mysql/data(可按情況設(shè)置)
網(wǎng)站根目錄                /data/www/wwwroot(可按情況設(shè)置)
虛擬主機(jī)日志根目錄    /data/logs(可按情況設(shè)置)
Nginx運(yùn)行賬戶           www:www
install_software_name.sh         //存放編譯參數(shù)腳本習(xí)慣將所有編譯腳本存放在install_software_name.sh便于升級(jí)和更新軟件.

創(chuàng)建網(wǎng)站賬號(hào)及相關(guān)存放目錄
#add_user.sh
/usr/sbin/groupadd www

•/usr/sbin/useradd -g www www

•mkdir -p /data/www/wwwroot

•chmod +w /data/www/wwwroot

•chown www:www /data/www/wwwroot -R
復(fù)制代碼

1.2系統(tǒng)環(huán)境部署及調(diào)整
檢查系統(tǒng)是否正常
#tail -n100 /var/log/messages(檢查有無系統(tǒng)級(jí)錯(cuò)誤信息)
#dmesg (檢查硬件設(shè)備是否有錯(cuò)誤信息)
#ifconfig(檢查網(wǎng)卡設(shè)置是否正確)
#ping www.linuxtone.org  (檢查網(wǎng)絡(luò)是否正常)

1.3使用 yum 程序安裝所需開發(fā)包(以下為標(biāo)準(zhǔn)的 RPM 包名稱)
添加國內(nèi)鏡像源加速軟件安裝下載速度請(qǐng)參照:http://bbs.linuxtone.org/thread-158-1-1.html
yum -y install ntp vim-enhanced gcc gcc-c++gcc-g77 flex bison autoconf automake bzip2-devel  \

•ncurses-devel openssl-devel libtool*zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel  \

•fontconfig-devel freetype-devel libXpm-develgettext-devel curl curl-devel pam-devel \

•e2fsprogs-devel krb5-devel libidn libidn-devel
復(fù)制代碼

1.4定時(shí)校正服務(wù)器時(shí)鐘,定時(shí)與中國國家授時(shí)中心授時(shí)服務(wù)器同步
#crontab -e
加入一行:
15 3 * * * /usr/sbin/ntpdate 210.72.145.44> /dev/null 2>&1
復(fù)制代碼

1.5下載編譯相關(guān)的源碼包.
#vi list 在list文件里填入以后下載地址列表.
官方下載軟件包名:
#nginx

ftp://ftp.csx.cam.ac.uk/pub/soft ... cre/pcre-7.8.tar.gz

http://sysoev.ru/nginx/nginx-0.7.30.tar.gz

•#PHP-GD-LIB

http://www.libgd.org/releases/gd-2.0.35.tar.bz2

http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz

http://jaist.dl.sourceforge.net/ ... crypt-2.5.8.tar.bz2

http://downloads.sourceforge.net ... 03&big_mirror=0

http://jaist.dl.sourceforge.net/ ... mcrypt-2.6.7.tar.gz

•#MySQL

http://dev.mysql.com/get/Downloa ... .cdpa.nsysu.edu.tw/

•#php

http://cn.php.net/get/php-5.2.8.tar.bz2/from/cn2.php.net/mirror

http://php-fpm.anight.org/downlo ... -fpm-0.5.10.diff.gz

•#PHP-EXT

http://pecl.php.net/get/memcache-2.2.4.tgz

http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

http://bart.eaccelerator.net/sou ... tor-0.9.5.3.tar.bz2


復(fù)制代碼#wget -i list

2. 編譯安裝軟件包
源碼編譯安裝所需包(Source)
1.1 編譯安裝Nginx
tar zxvf pcre-7.8.tar.gz

•cd pcre-7.8

•./configure && make && makeinstall
復(fù)制代碼tar zxvf nginx-0.7.30.tar.gz

•cd nginx-0.7.30

•./configure --user=www --group=www--prefix=/usr/local/nginx/ --with-http_stub_status_module

•--with-openssl=/usr/lib



•./configure --user=www --group=www --prefix=/usr/local/nginx/

•--with-http_stub_status_module --with-http_ssl_module

•--with-md5=/usr/lib --with-sha1=/usr/lib



•make && make install
復(fù)制代碼
如果你編譯有問題請(qǐng)嘗試參考:http://bbs.linuxtone.org/thread-2281-1-1.html
1.2編譯安裝GD及相關(guān)的LIB.
tar jxvf gd-2.0.35.tar.bz2

•cd gd-2.0.35

•./configure --prefix=/usr/local/gd2&& make && make install

•tar zxvf libiconv-1.12.tar.gz
復(fù)制代碼cd libiconv-1.12

•./configure --prefix=/usr && make&& make install

•tar jxvf libmcrypt-2.5.8.tar.bz2
復(fù)制代碼cd libmcrypt-2.5.8

•./configure --prefix=/usr && make&& make install


復(fù)制代碼tar zxvf mhash-0.9.9.tar.gz

•cd mhash-0.9.9

•./configure --prefix=/usr && make&& make install
復(fù)制代碼# vi /etc/ld.so.conf
添加/usr/lib
include ld.so.conf.d/*.conf

•/usr/lib
復(fù)制代碼# ldconfig
【注】ldconfig 命令的用途,主要是在默認(rèn)搜尋目錄(/lib和/usr/lib)以及動(dòng)態(tài)庫配置文件/etc/ld.so.conf內(nèi)所列的目錄, 而當(dāng)用戶安裝了一個(gè)新的動(dòng)態(tài)鏈接庫時(shí),就需要手工運(yùn)行這個(gè)命令。
tar zxvf mcrypt-2.6.7.tar.gz

•[code]

•cd mcrypt-2.6.7

•./configure --prefix=/usr && make&& make install
復(fù)制代碼

1.3 編譯安裝MySQL

點(diǎn)擊:關(guān)于最新的MySQL如果編譯出錯(cuò)請(qǐng)看此貼
#sh install_mysql.sh
//具體腳本如下:
CHOST="x86_64-pc-linux-gnu"

•CFLAGS="-march=nocona -O3 -pipe"

•CXXFLAGS="${CFLAGS}"

•./configure \

•"--prefix=/usr/local/mysql" \

•"--localstatedir=/data/mysql/data" \

•"--with-comment=Source" \

•"--with-server-suffix=-Linuxtone.Org" \

•"--with-mysqld-user=mysql" \

•"--without-debug" \

•"--with-big-tables" \

•"--with-charset=utf8" \

•"--with-collation=utf8_chinese_ci" \

•"--with-extra-charsets=all" \

•"--with-pthread" \

•"--enable-static" \

•"--enable-thread-safe-client" \

•"--with-client-ldflags=-all-static" \

•"--with-mysqld-ldflags=-all-static" \

•"--enable-assembler" \

•"--with-plugins=all" \

•"--without-ndb-debug"

•make

•make install

•useradd mysql -d /data/mysql -s/sbin/nologin

•/usr/local/mysql/bin/mysql_install_db--user=mysql

•cd /usr/local/mysql

•chown -R root:mysql .

•mkdir -p /data/mysql/data

•chown -R mysql /data/mysql/data

•cp share/mysql/my-huge.cnf /etc/my.cnf

•cp share/mysql/mysql.server/etc/rc.d/init.d/mysqld

•chmod 755 /etc/rc.d/init.d/mysqld

•chkconfig --add mysqld

•/etc/rc.d/init.d/mysqld start



•cd /usr/local/mysql/bin

•for i in *; do ln -s /usr/local/mysql/bin/$i/usr/bin/$i; done
復(fù)制代碼【注】編譯mysql前請(qǐng)正確配置好主機(jī)名,否則不能正常啟動(dòng).
例如:
[root@lempmysql-5.1.30]# cat /etc/hosts
# Do not remove the following line, or various programs

•# that require network functionality will fail.

•127.0.0.1   localhost.localdomainlocalhost

•192.168.1.104  lemp.linuxtone.org
復(fù)制代碼
【注】將本文提供下載的scripts.tar.gz包中的my.cnf替換你的/etc/my.cnf,并根據(jù)你的硬件參數(shù)做相關(guān)調(diào)整,并可以利用包中的tuning-primer.sh 做初步性能調(diào)優(yōu)。


1.4 編譯安裝PHP-FastCGI
tar jxvf php-5.2.8.tar.bz2

•gzip -cd php-5.2.8-fpm-0.5.10.diff.gz| patch -d php-5.2.8 -p1

•cd php-5.2.8
復(fù)制代碼#sh install_php.sh
//具體腳本如下
CHOST="i686-pc-linux-gnu"

•CFLAGS="-march=prescott-O3 -pipe -fomit-frame-pointer"

•CXXFLAGS="${CFLAGS}"

•./configure \

•"--prefix=/usr/local/php-fcgi" \

•"--enable-fastcgi" \

•"--enable-fpm" \

•"--enable-discard-path" \

•"--enable-force-cgi-redirect"\

•"--with-config-file-path=/usr/local/php-fcgi/etc" \

•"--enable-zend-multibyte" \

•"--with-mysql=/usr/local/mysql" \

•"--with-libxml-dir" \

•"--with-xmlrpc" \

•"--with-gd=/usr/local/gd2" \

•"--with-jpeg-dir" \

•"--with-png-dir" \

•"--with-bz2" \

•"--with-freetype-dir" \

•"--with-iconv-dir" \

•"--with-zlib-dir" \

•"--with-curl" \

•"--with-curlwrappers" \

•"--with-openssl" \

•"--with-mcrypt" \

•"--with-mhash" \

•"--enable-pcntl" \

•"--enable-sockets" \

•"--enable-sysvsem" \

•"--enable-inline-optimization" \

•"--enable-soap" \

•"--enable-gd-native-ttf" \

•"--enable-ftp" \

•"--enable-mbstring" \

•"--enable-exif" \

•"--disable-debug" \

•"--disable-ipv6"

•#sed -i 's#-lz -lm -lxml2-lz -lm -lxml2 -lz -lm -lcrypt#& -liconv#' Makefile

•makeZEND_EXTRA_LIBS='-liconv'

•make install

•cp php.ini-dist/usr/local/php-fcgi/etc/php.ini
復(fù)制代碼1.5 編譯安裝PHP擴(kuò)展


tar zxvf memcache-2.2.4.tgz

•cd memcache-2.2.4

•/usr/local/php-fcgi/bin/phpize

•./configure--with-php-config=/usr/local/php-fcgi/bin/php-config

•make && make install


復(fù)制代碼tar jxvf eaccelerator-0.9.5.3.tar.bz2

•cd eaccelerator-0.9.5.3

•/usr/local/php-fcgi/bin/phpize

•./configure --enable-eaccelerator=shared--with-php-config=/usr/local/php-fcgi/bin/php-config

•make && make install


復(fù)制代碼tar zxvf PDO_MYSQL-1.0.2.tgz

•cd PDO_MYSQL-1.0.2

•/usr/local/php-fcgi/bin/phpize

•./configure --with-php-config=/usr/local/php-fcgi/bin/php-config--with-pdo-mysql=/usr/local/mysql

•make && make install
復(fù)制代碼

1.6 配置php.ini
#sh init_php.sh
//執(zhí)行PHP配置腳本
【注】下載包中提供了此腳本.主要是添加自動(dòng)添加PHP擴(kuò)展及PHP安全相關(guān)設(shè)置,用戶可以編輯此文件根據(jù)具體情況做調(diào)整。
#vi /usr/local/php-fcgi/etc/php.ini //在最后加上

[eAccelerator]

•extension="eaccelerator.so"

•eaccelerator.shm_size="32"

•eaccelerator.cache_dir="/cache_tmpfs/eaccelerator"

•eaccelerator.enable="1"

•eaccelerator.optimizer="1"

•eaccelerator.check_mtime="1"

•eaccelerator.debug="0"

•eaccelerator.filter=""

•eaccelerator.shm_max="0"

•eaccelerator.shm_ttl="0"

•eaccelerator.shm_prune_period="0"

•eaccelerator.shm_only="0"

•eaccelerator.compress="1"

•eaccelerator.compress_level="9"
復(fù)制代碼

1.7 安裝ZendOptimizer-3.3.3

tar zxvf ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz

•cd ZendOptimizer-3.3.3-linux-glibc23-x86_64

•./install
復(fù)制代碼
解壓后進(jìn)入目錄./install,安提示選擇相關(guān)的目錄及配置文件存放目錄即可.


1.8 配置php-fpm.conf
rm -rf /usr/local/php-fcgi/etc/php-fpm.conf
將本文提供的php-fpm.conf文件上傳此目錄.
/usr/local/php-fcgi/sbin/php-fpm start //啟動(dòng)服務(wù)查看是否報(bào)錯(cuò),不報(bào)錯(cuò)繼續(xù)。

1.9 配置nginx/conf

#cd /usr/local/nginx

•#mv conf conf_old

•#mkdir -p conf/{vhost,conf_example}
復(fù)制代碼
#將本文提供的conf目錄替換成當(dāng)前conf目錄.在下載的scripts.tar.gz包里.

目錄結(jié)構(gòu)介紹:
/usr/local/nginx/conf       //存放主配置文件
/usr/local/nginx/conf/vhost      //存放虛擬主機(jī)配置文件.
/usr/local/nginx/conf/conf_example    //存放一些經(jīng)典的配置示例{虛擬主機(jī),防盜鏈,訪問控制,重定向,負(fù)載均衡等}

[root@lempmysql]# /usr/local/nginx/sbin/nginx ?t     //驗(yàn)證是否有配置語法錯(cuò)誤.
2009/01/06 09:36:12 [info] 23353#0: the configuration file/usr/local/nginx//conf/nginx.conf syntax is ok

•2009/01/06 09:36:12 [info] 23353#0: the configuration file/usr/local/nginx//conf/nginx.conf was tested successfully
復(fù)制代碼#chmod a+x /etc/init.d/nginx      //將文本提供的nginx腳本上傳至/etc/init.d/目錄下
【注】此腳本已經(jīng)含有php-fpm的管理.直接利用此腳本即可管理所有服務(wù).
# /etc/init.d/nginx stop   //停止nginx服務(wù)

•# /etc/init.d/nginx start   //啟動(dòng)nginx服務(wù)
復(fù)制代碼

2.0 驗(yàn)證服務(wù)環(huán)境
配置完成虛擬主機(jī)以后,編輯php.ini把disable_functions里的phpinfo去掉,仍后重啟服務(wù),利用Phpinfo函數(shù)查看環(huán)環(huán)配置。
編寫phpinfo.php
<?php

•phpinfo();

•?>
復(fù)制代碼http://ip/phpinfo.php
即可查看當(dāng)前配置環(huán)境. 查看完成后出于安全考慮請(qǐng)?jiān)賹⒋撕瘮?shù)禁掉.

三、服務(wù)器簡單優(yōu)化
1.簡單優(yōu)化磁盤I/O
# vi /etc/fstab   //加入notaime
LABEL=/data             /data                   ext3    defaults,noatime        0 2
復(fù)制代碼#mount -oremount  /data           //重新掛載/data分區(qū).

2.簡單優(yōu)化Linux內(nèi)核參數(shù)(更多的請(qǐng)根據(jù)服務(wù)器狀況做相關(guān)調(diào)整)
#vi/etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30

•net.ipv4.tcp_keepalive_time = 300

•net.ipv4.tcp_syncookies = 1

•net.ipv4.tcp_tw_reuse = 1

•net.ipv4.tcp_tw_recycle = 1

•net.ipv4.ip_local_port_range = 5000 65000
復(fù)制代碼#sysctl -p
復(fù)制代碼

修改文件描述符:
# ulimit -HSn 65535

#echo -ne "
* soft nofile 65536
* hard nofile 65536
" >>/etc/security/limits.conf

3.其它優(yōu)化根據(jù)具體情況還有硬件情況做調(diào)整.
更多的優(yōu)化請(qǐng)參考: http://www.linuxtone.org/forum-31-1.html 或聯(lián)系我們.

四、相關(guān)參考及介紹.
1.Nginx Tips(Nginx應(yīng)用技巧含優(yōu)化)  http://bbs.linuxtone.org/thread-1241-1-1.html
2.LEMP構(gòu)建高性能WEB服務(wù)器(第二版)http://bbs.linuxtone.org/thread-123-1-1.html
3.如果你想構(gòu)建可用集群方案請(qǐng)參考 http://www.linuxtone.org/thread-1402-1-1.html
4.如果你想學(xué)習(xí)服務(wù)器監(jiān)控請(qǐng)參考  http://www.linuxtone.org/forum-20-1.html

五、相關(guān)軟件包及腳本下載
http://www.linuxtone.org/lemp/scripts.tar.gz  文中所有腳本及配置范例。
http://www.linuxtone.org/lemp/lemp.tar.gz     所有軟件包如果發(fā)現(xiàn)不能下載請(qǐng)去官方下載。

六、常見錯(cuò)誤(疑問)解答 [守住每一天] 補(bǔ)充:
   1、eaccelerator 與xcache 差在那?
   當(dāng)緩存的PHP二進(jìn)制文件太多,以至于超過shm_size后,eAccelerator在性能方面要高于Xcache
 2、按文檔安裝完成了結(jié)果出502Bad Gateway ?
   請(qǐng)查看http://www.linuxtone.org 相關(guān)版塊
。、nginxstatus 解釋
        active connections -- 對(duì)后端發(fā)起的活動(dòng)連接數(shù)
        server accepts handled requests -- nginx 總共處理了 43629083 個(gè)連接, 成功創(chuàng)建 43629083 次握手
        (證明中間沒有失敗的), 總共處理了259552136 個(gè)請(qǐng)求
        reading -- nginx 讀取到客戶端的Header信息數(shù)
        writing -- nginx 返回給客戶端的Header信息數(shù)
        waiting -- 開啟 keep-alive 的情況下,這個(gè)值等于 active - (reading +writing),意思就是Nginx已經(jīng)處理完成,
      正在等候下一次請(qǐng)求指令的駐留連接。在訪問效率高,請(qǐng)求很快被處理完畢的情況下,Waiting數(shù)比較多是正常的。
      如果reading + writing數(shù)較多,則說明并發(fā)訪問量非常大,正在處理過程中。
  
    4、EA 或xcache和zend 能一起使用?
      可以
    5、按腳本執(zhí)行sed -i -e 's/^LANG=.*/LANG="en"/'  /etc/sysconfig/i18n 后。
      可能會(huì)遇到如下錯(cuò)誤:

perl: warning: Please checkthat your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG ="en_US.UTF-8:en_US:en_US.ISO-8859-1"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
解決辦法:
LC_ALL=C;exportLC_ALL ; LC_CTYPE=C ; export LC_CTYPE;

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-09-15 11:23 |只看該作者
好東西,謝謝分享

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-09-15 21:15 |只看該作者
不錯(cuò),是LNMP吧

論壇徽章:
1
2015亞冠之吉達(dá)阿赫利
日期:2015-09-09 16:42:38
4 [報(bào)告]
發(fā)表于 2012-03-09 14:00 |只看該作者
看半天 不知道 E 是啥
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP