原文鏈接:http://www.wp31.com/1358.html
varnish是優(yōu)秀的緩存服務(wù)器,配置簡(jiǎn)單,命中率高,性能高效。下面我們以wordpress博客程序?yàn)槔纯慈绾闻渲胿arnish。
1、首先安裝好web環(huán)境,可以使用本站的LNMP一鍵安裝包配置。
2、安裝varnish。
rpm -i
yum install varnish
下載default.vcl文件覆蓋/etc/varnish/default.vcl文件。
3、修改varnish配置文件/etc/varnish/default.vcl
backend default {
host = “127.0.0.1″;
port = “8080″;
}
8080端口是后綴nginx或apache的端口。
# Only cache the following site
if (req.http.host ~ “(localhost)”) {
set req.backend = default;
} else {
return (pass);
}
這個(gè)是只允許localhost緩存,需要改成自己的wordpress域名。
[………]
set beresp.ttl = 1h;
[………]
這個(gè)是設(shè)置緩存頁(yè)面過(guò)期時(shí)間為1h,單位可以是s(秒),h(小時(shí)),d(天)等。
4、修改/etc/sysconfig/varnish配置文件
重要的有兩個(gè)值:
VARNISH_LISTEN_PORT=80 定義varnish的端口為80。
VARNISH_STORAGE_SIZE=1G 定義varnish最大緩存大小為1G
5、管理varnish的命令
service varnish start(restart|reload) 進(jìn)程的啟動(dòng),重啟,配置重載。
varnishstat 實(shí)時(shí)查看varnish緩存命中狀態(tài)。
varnishadm varnish后臺(tái)管理命令。
6、最后需要安裝wordpress清除varnish緩存的插件wordpress varnish
可以在后臺(tái)搜索,也可以直接下載http://wordpress.org/extend/plugins/wordpress-varnish/。
經(jīng)過(guò)簡(jiǎn)單的六步,就完全了wordpress varnish緩存的配置。
更多varnish詳細(xì)配置說(shuō)明:https://www.varnish-cache.org/docs/3.0/
yum remove vsftpd
因?yàn)镃entos5.6上默認(rèn)沒(méi)有Proftpd的源,因此我們選擇了編譯安裝:
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
tar xvfz proftpd-1.3.3e.tar.gz
cd proftpd-1.3.3e/
./configure –sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.3e*
proftpd被安裝在了 /usr/local/sbin, 但是我們需要它安裝在 /usr/sbin,因此我們建立一個(gè)符號(hào)鏈接:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd
現(xiàn)在我們新建 /etc/init.d/proftpd:
vi /etc/init.d/proftpd
#!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd This shell script takes care of starting and stopping # proftpd. # # chkconfig: - 80 30 # description: ProFTPD is an enhanced FTP server with a focus towards \ # simplicity, security, and ease of configuration. \ # It features a very Apache-like configuration syntax, \ # and a highly customizable server infrastructure, \ # including support for multiple 'virtual' FTP servers, \ # anonymous FTP, and permission-based directory visibility. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # 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 /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n $"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n $"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n $"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |
然后我們使它可執(zhí)行:
chmod 755 /etc/init.d/proftpd
接著我們打開(kāi) /etc/proftpd.conf 修改其中的 Group 為 nobody:
vi /etc/proftpd.conf
[...] Group nobody [...] |
出于安全考慮您也可以加入以下到 /etc/proftpd.conf (更多詳情請(qǐng)?jiān)L問(wèn): :
vi /etc/proftpd.conf
[...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
為了使ftp用戶能使用 chmod 命令, 請(qǐng)注釋掉 <Limit SITE_CHMOD> 部分:
[...] # Bar use of SITE CHMOD by default #<Limit SITE_CHMOD> # DenyAll #</Limit> [...] |
現(xiàn)在我們讓Proftpd隨系統(tǒng)自啟動(dòng):
chkconfig –levels 235 proftpd on
最后我們啟動(dòng)Proftpd:
/etc/init.d/proftpd start
搞定收工
]]>參考教程出處:
限制 sftp 用戶登陸后,只能在家目錄下活動(dòng),不能到其他或上級(jí)目錄,可以按照下面方法進(jìn)行操作:
一、升級(jí)ssh軟件,版本必須在 4.8 以上;
二、備份配置文件:(以下所有命令,都需要使用root用戶來(lái)執(zhí)行)
cd /etc/ssh/
mv sshd_config sshd_config.bak
mv sshd_config.rpmnew sshd_config
三、修改 /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server (這行必須注釋掉)
Subsystem sftp internal-sftp
Match Group chroot
ChrootDirectory /chroot/%u
ForceCommand internal-sftp
說(shuō)明:本配置中,ChrootDirectory 是 /chroot/%u,匹配這個(gè)規(guī)則的組名為 chroot,所以以后添加需要限制活動(dòng)目錄的用戶時(shí),必須屬于chroot這個(gè)組;
四、建立相關(guān)目錄,添加用戶和組,這里以work用戶為例:
cd /
mkdir chroot
groupadd chroot
useradd -d /chroot/work -g chroot -s /bin/false work
passwd work
chown root /chroot/work
chmod 750 /chroot/work
說(shuō)明:在/chroot目錄下,用戶家目錄 work 的屬主必須是root,而不能是用戶本身,屬組的話,必須是chroot,權(quán)限 750 (需要注意的是,新建用戶的家目錄,權(quán)限是700,但這樣sftp登陸的話,是看不到目錄下的列表的,所以,必須是750的權(quán)限) 例如:
drwxr-x— 7 root chroot 4096 Aug 5 13:23 work
五、如果需要上傳文件,則按照下面執(zhí)行:
cd /chroot/work
mkdir {upload,pub}
chmod a+w upload -R upload
其中,upload目錄為可讀寫(xiě)權(quán)限,可以用來(lái)上傳,pub目錄為只讀權(quán)限,可以用來(lái)下載。
六、測(cè)試
]]>service sshd restart
sftp?-oPort=24 work@ip
參考教程出處:
因?yàn)?CentOS 5.6 上的 SSH/SFTP 服務(wù)還是很老的版本 (OpenSSH_4.3p2),不支持 chroot。 CentOS 源上沒(méi)有更新的版本,YUM 也無(wú)法獲取到升級(jí)。因此只能從源代碼編譯安裝,這里介紹詳細(xì)完整的步驟。
1. 準(zhǔn)備相關(guān)軟件
yum install gcc yum install openssl-devel yum install pam-devel yum install rpm-build
2. 下載 OpenSSH 當(dāng)前最新版本,并解壓縮
wget tar -xvzf openssh-5.8p2.tar.gz
3. 編譯源程序?yàn)?RPM 安裝包
cp ./openssh-5.8p2/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/ cp openssh-5.8p2.tar.gz /usr/src/redhat/SOURCES/ cd /usr/src/redhat/SPECS perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec rpmbuild -bb openssh.spec
4. 安裝編譯好了的 RPM 包
cd /usr/src/redhat/RPMS/`uname -i` rpm -Uvh openssh*rpm
5. 查看更新后的版本并測(cè)試連接
ssh -v -p 12345 localhost
注意-p 后邊的12345為端口號(hào),如果SSH默認(rèn)端口號(hào)沒(méi)有修改過(guò),這個(gè)參數(shù)可以省略
6. 重啟服務(wù)
service sshd restart
7. 重新SSH登陸進(jìn)去
ssh -p 12345 user@ip ssh -V
顯示為 OpenSSH_5.8p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008,說(shuō)明成功的升級(jí)到了最新版本,搞定收工!
]]>一,新建一個(gè)腳本;
vim /home/mysql-db-backup/backup.sh
#!/bin/bash
cd /home/mysql-db-backup
mysqldump -A -i --opt --lock-tables=0 -u root -p111111 > all_$(date +%y%m%d)_database.sql
參數(shù)說(shuō)明:
-A 代表導(dǎo)出MYSQL里邊所有數(shù)據(jù)庫(kù)的數(shù)據(jù)到一個(gè)SQL文件里邊;
-i 設(shè)置這個(gè)參數(shù)以后,可自動(dòng)輸入密碼;
-p111111
其中111111為root密碼,注意與-p之間不能有空格,否則將出錯(cuò);
--lock-tables=0
防止出現(xiàn) mysqldump: Got error: 1556: You can’t use locks with log tables. when using LOCK TABLES 這個(gè)錯(cuò)誤;
$(date +%y%m%d)
導(dǎo)出的數(shù)據(jù)庫(kù)文件按當(dāng)前年月日命名,防止重復(fù)。
二,然后修改文件屬性,使其可執(zhí)行
chmod 750 /home/mysql-db-backup/backup.sh
三,添加到計(jì)劃任務(wù)里邊;
crontab -e
輸入
00 00 * * 7?? /bin/bash /home/mysql-db-backup/backup.sh
每周第七天晚上12點(diǎn)執(zhí)行一次腳本。
四,重啟crontab。
service crond restart
搞定收工!? ^_^
]]>1、修改sshd服務(wù)器的配置文件/etc/ssh/sshd_config,將部分參數(shù)參照如下修改,增強(qiáng)安全性。
#vi /etc/ssh/sshd_config
Port 3333
禁止root用戶登陸
PermitRootLogin no
禁止空密碼存在
PermitEmptyPasswords no
禁止使用版本1協(xié)議,因?yàn)槠浯嬖谠O(shè)計(jì)缺陷,很容易使密碼被黑掉。
Protocol 2
禁止所有不需要的(或不安全的)授權(quán)認(rèn)證方式。
X11Forwarding no
關(guān)閉X11Forwarding,防止會(huì)話被劫持。
MaxStartups 5
2. 修改sshd服務(wù)器的配置文件/etc/ssh/sshd_config的讀寫(xiě)權(quán)限,對(duì)所有非root用戶設(shè)置只讀權(quán)限,防止非授權(quán)用戶修改sshd 服務(wù)的安全設(shè)置。
chmod 644 /etc/ssh/sshd_config
3. 設(shè)置TCP Wrappers。服務(wù)器默認(rèn)接受所有的請(qǐng)求連接,這是非常危險(xiǎn)的。使用TCP Wrappers可以阻止或允許應(yīng)用服務(wù)僅對(duì)某些主機(jī)開(kāi)放,給系統(tǒng)在增加一道安全屏障。這部分設(shè)置共涉計(jì)到兩個(gè)文件:hosts.allow和 hosts.deny。
將那些明確允許的請(qǐng)求添加到/etc/hosts.allow中。如系統(tǒng)僅允許IP地址為192.168.0.15和10.0.0.11的主機(jī)使用 sshd服務(wù),則添加如下內(nèi)容:
sshd:192.168.0.15 10.0.0.11
將需要禁止使用的信息添加到/etc/hosts.deny中。如對(duì)除了在hosts.allow列表中明確允許使用sshd的用戶外,所有其他用戶都禁 止使用sshd服務(wù),則添加如下內(nèi)容到hosts.deny文件中:
sshd:All
注意:系統(tǒng)對(duì)上述兩個(gè)文件的判斷順序是先檢查hosts.allow文件再查看hosts.deny文件,因此一個(gè)用戶在hosts.allow允 許使用 網(wǎng)絡(luò)資源,而同時(shí)在hosts.deny中禁止使用該網(wǎng)絡(luò)資源,在這種情況下系統(tǒng)優(yōu)先選擇使用hosts.allow配置,允許用戶使用該網(wǎng)絡(luò)資源。
最后,重啟sshd服務(wù)
#/sbin/service sshd restart??? #注意此處一定要加上service的絕對(duì)路徑,否則會(huì)提示無(wú)法找到命令的錯(cuò)誤
用普通賬號(hào)登陸SSHD,格式如下:
ssh -p 3333 user@address
#3333為修改后的端口號(hào),登陸以后,通過(guò)輸入su然后輸入root密碼來(lái)獲得root權(quán)限。
]]>1、yum update
2、#依賴庫(kù)和開(kāi)發(fā)工具
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*
3、時(shí)區(qū)設(shè)置和同步時(shí)間
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate us.pool.ntp.org
第一句,將我們的時(shí)區(qū)文件復(fù)制到系統(tǒng)位置。
第二句,在網(wǎng)上更新時(shí)間。
第一句是把當(dāng)前時(shí)區(qū)調(diào)整為上海就是+8區(qū),想改其他時(shí)區(qū)也可以去看看/usr/share/zoneinfo目錄;然后第二句是利用ntpdate同步標(biāo)準(zhǔn)時(shí)間.
如果 ntpdate 無(wú)法運(yùn)行,那么需要 yum install -y ntpdate 安裝一下服務(wù)
4、下載軟件包
#創(chuàng)建目錄
mkdir /web
cd /web
#PHP5.3.8
wget
#PHP庫(kù)文件
wget
wget
wget
wget
eaccelerator-0.9.6.1.tar.bz2
wget
#Nginx1.0.9
wget
#Nginx(pcre)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.tar.gz
#Mysql5.5.17
wget
#Mysql(cmake)
wget
5、安裝Mysql
#安裝cmake
tar -zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6/
./configure
gmake && gmake install && cd ../
#添加mysql用戶
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
#安裝Mysql
tar -zxvf mysql-5.5.17.tar.gz
cd mysql-5.5.17
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306
#設(shè)置Mysql
#在support-files目錄中有五個(gè)配置信息文件:
#my-small.cnf (內(nèi)存<=64M)
#my-medium.cnf (內(nèi)存 128M)
#my-large.cnf (內(nèi)存 512M)
#my-huge.cnf (內(nèi)存 1G-2G)
#my-innodb-heavy-4G.cnf (內(nèi)存 4GB)
cd /usr/local/mysql
cp ./support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
#在 [mysqld] 段增加
datadir = /data/mysql
wait-timeout = 30
max_connections = 512
default-storage-engine = MyISAM
#在 [mysqld] 段修改
max_allowed_packet = 16M
#生成授權(quán)表
cd /usr/local/mysql
./scripts/mysql_install_db –user=mysql
#更改密碼
/usr/local/mysql/bin/mysqladmin -u root password 123456
#開(kāi)啟mysql
/usr/local/mysql/bin/mysqld_safe &
#測(cè)試連接mysql
/usr/local/mysql/bin/mysql -u root -p 123456
show databases;
exit;
#設(shè)置相關(guān)腳本
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig mysqld on
service mysqld restart
netstat -tnlp |grep 3306
cd /usr/local/bin //進(jìn)入用戶的默認(rèn)搜索路徑下建立mysql命令的軟連接,可以直接執(zhí)行mysql命令
ln -s /usr/local/mysql/bin/mysql mysql
ln -s /usr/local/mysql/bin/mysqlduamp mysqldump
ln -s /usr/local/mysql/bin/mysqladmin mysqladmin
mysqladmin -u root -p password
mysql -u root -p
flush privileges;
vim /etc/my.cnf //Mysql 優(yōu)化,在[mysqld]配置參數(shù)下面添加下面幾行(大概37行下面)
innodb_file_per_table
log-bin-trust-function-creators=1
skip-name-resolv
innodb_flush_log_at_trx_commit=1
sync-binlog=1
lower_case_table_names=1
max_connections = 1500 (默認(rèn)100)
#修改配置文件里下面的參數(shù),去掉前面的#
innodb_buffer_pool_size = 2048M (默認(rèn)16M,可以為系統(tǒng)內(nèi)存50%~70%)
innodb_additional_mem_pool_size = 256M (默認(rèn)2M)
innodb_log_file_size = 512M (默認(rèn)5M,innodb_buffer_pool_size的四分之一)
max_allowed_packet = 500M
#設(shè)置開(kāi)機(jī)啟動(dòng)
vi /etc/rc.d/rc.local
#加入
/usr/local/mysql/bin/mysqld_safe &
6、安裝PHP
#1
tar -zxvf libiconv-1.14.tar.gz && cd libiconv-1.14/
./configure –prefix=/usr/local
make && make install && cd ../#2
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 ../#3
tar -zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9/ && ./configure
make && make install && cd ../#4
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config#5
tar -zxvf mcrypt-2.6.8.tar.gz &&cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make && make install && cd ../#6
tar -xjvf php-5.3.8.tar.bz2
cd php-5.3.8#7
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 #(64Bit)
/sbin/ldconfig./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-iconv-dir=/usr/local/ –with-freetype-dir –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-jpeg-dir –with-png-dir –with-zlib –with-mhash –enable-sockets –enable-ftp –with-libxml-dir –enable-xml –disable-rpath –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-ldap –with-ldap-sasl –enable-fpm –with-xmlrpc –enable-zip –enable-soap –with-gettext –without-pear
make ZEND_EXTRA_LIBS=’-liconv’
#注意這里容易出現(xiàn) make: *** [ext/phar/phar.php] 錯(cuò)誤 127
#出現(xiàn)mysql client解決方法
#ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/
#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
#或者chmod: 無(wú)法訪問(wèn) “ext/phar/phar.phar”: 沒(méi)有那個(gè)文件或目錄
#make: [ext/phar/phar.phar] 錯(cuò)誤 1 (忽略)
#解決方法在編譯的時(shí)候加–without-pear參數(shù)
#如果還不行,make的時(shí)候不添加 ZEND_EXTRA_LIBS=’-liconv’ 參數(shù)
make install
#選擇PHP.ini配置文件
cp php.ini-production /usr/local/php/etc/php.ini
7、更改PHP-FPM
#添加WWW用戶
/usr/sbin/groupadd www && /usr/sbin/useradd -g www www
mkdir -p /var/log/nginx && chmod +w /var/log/nginx &&chown -R www:www /var/log/nginx
mkdir -p /data/www && chmod +w /data/www && chown -R www:www /data/wwwcp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
#去掉/更改 配置文件中的;
pm.max_children = 64
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1024
user = www
group = www
#檢查語(yǔ)法是否正確
/usr/local/php/sbin/php-fpm -t
#出現(xiàn)NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful 測(cè)試成功
/usr/local/php/sbin/php-fpm &
#設(shè)置開(kāi)機(jī)啟動(dòng)
vi /etc/rc.d/rc.local
#在行末加入
/usr/local/php/sbin/php-fpm &
#返回安裝包目錄
cd /web
8、安裝PHP擴(kuò)展
eaccelerator是一個(gè)自由開(kāi)放源碼PHP加速器,優(yōu)化和動(dòng)態(tài)內(nèi)容緩存,提高了性能php腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對(duì)服務(wù)器的開(kāi)銷幾乎完全消除。 它還有對(duì)腳本起優(yōu)化作用,以加快其執(zhí)行效率。使您的PHP程序代碼執(zhí)效率能提高1-10倍;
tar jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1/
/usr/local/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make
make install
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
9、安裝Nginx
#安裝pcre庫(kù)
tar -zxvf pcre-8.13.tar.gz && cd pcre-8.13/ && ./configure
make && make install && cd ../#安裝Nginx
tar -zxvf nginx-1.0.9.tar.gz && cd nginx-1.0.9 &&
tar -zxvf nginx-1.0.9.tar.gz && cd nginx-1.0.9 && ./configure –user=www –group=www –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/sbin/nginx –conf-path=/usr/local/nginx/conf/nginx.conf –with-http_stub_status_module –with-http_ssl_module –with-pcre –lock-path=/var/run/nginx.lock –pid-path=/var/run/nginx.pid –with-ipv6make && make install && cd ../
vim /etc/init.d/nginxd/ //添加下面內(nèi)容,讓nginx 支持service 啟動(dòng)關(guān)閉
#!/bin/sh
#
# nginx – this script starts and stops the nginx daemon
#
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0
nginx=”/usr/local/nginx/sbin/nginx”
prog=$(basename $nginx)
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/run/nginx.lock
make_dirs() {
# make required directories
user=`nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/[^*]*–user=\([^ ]*\).*/\1/g’ -`
options=`$nginx -V 2>&1 | grep ‘configure arguments:’`
for opt in $options; do
if [ `echo $opt | grep ‘.*-temp-path’` ]; then
value=`echo $opt | cut -d “=” -f 2`
if [ ! -d “$value” ]; then
# echo “creating” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $”Starting $prog: ”
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}stop() {
echo -n $”Stopping $prog: ”
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}restart() {
configtest || return $?
stop
sleep 1
start
}reload() {
configtest || return $?
echo -n $”Reloading $prog: ”
killproc $nginx -HUP
RETVAL=$?
echo
}force_reload() {
restart
}configtest() {
$nginx -t -c $NGINX_CONF_FILE
}rh_status() {
status $prog
}rh_status_q() {
rh_status >/dev/null 2>&1
}case “$1″ in
start)
rh_status_q && exit 0
$1
;;stop)
rh_status_q || exit 0
$1
;;restart|configtest)
$1
;;reload)
rh_status_q || exit 7
$1
;;force-reload)
force_reload
;;status)
rh_status
;;condrestart|try-restart)
rh_status_q || exit 0
;;
*)echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac
賦予權(quán)限:
chmod +x /etc/init.d/nginxdservice nginxd start
chkconfig –add nginxd
chkconfig nginxd on
chkconfig –list nginxd
通過(guò)瀏覽器訪問(wèn)服務(wù)器,出現(xiàn)welcome to nginx!表示成功
#更改配置
vi /usr/local/nginx/conf/nginx.conf#修改一些參數(shù),別直接替換文件,這只是一部分
user wwwevents {
use epoll;
worker_connections 1024;
}server {
listen 80;
server_name eastdesign.net www.eastdesign.net;
index index.html index.htm index.php;
root /home/eastdesign;
#include wp_rewrite.conf;location ~ \.php$ {
root /home/eastdesign;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}location ~ .*\.(js|css)?$
{
expires 1d;
}access_log /data1/logs/eastdesign.net.access.log;
error_log /data1/logs/eastdesign.net.error.log;
location ~ /\.ht {
deny all;
}
}
#注意這里
#$document_root$fastcgi_script_name;#檢測(cè)配置文件
/usr/local/nginx/sbin/nginx -t#提示表示成功
#nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
#nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful#開(kāi)啟Nginx
/usr/local/nginx/sbin/nginx#平滑重啟Nginx
/usr/local/nginx/sbin/nginx -s reload#添加開(kāi)機(jī)啟動(dòng)
vi /etc/rc.d/rc.local
#最后移行加入
/usr/local/nginx/sbin/nginx
10、過(guò)程總結(jié):
一共花了將近三天的時(shí)間搞定所有的編譯安裝和配置,個(gè)人感覺(jué)網(wǎng)上所有的教程或多或少都有一些問(wèn)題,教程制作者發(fā)布教程的初衷也大多是為了方便自己下次使用,或者經(jīng)驗(yàn)總結(jié),所以教程不可能囊括安裝過(guò)程中發(fā)生的所有問(wèn)題,因此導(dǎo)致如果按照教程按部就班一步一步操作下來(lái),一般都會(huì)出現(xiàn)一些問(wèn)題,所以不要單純指望根據(jù)某個(gè)教程做好所有的設(shè)置,可以綜合借鑒幾個(gè)不錯(cuò)的教程,再結(jié)合自己摸索體驗(yàn),當(dāng)然DIY的體驗(yàn)過(guò)程是很有成就感的。