nginx ("engine x") 是乙個高效能的 http 和反向**伺服器,也是乙個 imap/pop3/smtp **伺服器。 nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源**以類bsd許可證的形式發布。
nginx 超越 apache 的高效能和穩定性,使得國內使用 nginx 作為 web 伺服器的**也越來越多,其中包括
網易新聞等門戶**頻道,
六間房、
discuz!官方論壇、
水木社群等知名論壇,
豆瓣、yupoo相簿、
海內sns、
實驗環境
centos4.5
pcre-7.8.tar.gz 正規表示式
nginx-0.7.26.tar
php-5.2.6.tar.bz2
php-5.2.6-fpm-0.5.9.diff.gz
php-fpm是為
php打的乙個fastcgi
管理補丁,可以平滑變更php.ini配置而無需重啟php-cgi
注:php的版本要和fpm的版本一致 my
sql-5.0.67.tar.gz
discuz!_6.0.0_sc_utf8.zip
1、安裝pcre
# tar -zxvf pcre-7.8.tar.gz
# cd pcre-7.8
# ./configure
# make && make install
2、安裝nginx
# tar -zxvf nginx-0.7.26.tar.gz
# cd nginx-0.7.26
# ./configure --prefix=/usr/local/nginx
# make && make install
啟動nginx
# /usr/local/nginx/sbin/nginx
停止nginx
# kill -quit `cat /usr/local/nginx/logs/nginx.pid`
重啟nginx
kill -hup `cat /usr/local/nginx/logs/nginx.pid`
新增到自啟動
# echo "/usr/local/nginx/sbin/nginx">>/etc/rc.local
3、安裝
mysql
# tar -zxvf mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# groupadd mysql
# useradd -g mysql -s /sbin/nologin -m mysql
# ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charset=all --enable-hread-safe-client --enable-local-infile --with-low-memory
# make && make install
# cp support-files/my-medium.cnf /etc/my.cnf
# chown -r mysql.mysql /usr/local/mysql/
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# chown -r root.root /usr/local/mysql/
# chown -r mysql.mysql /usr/local/mysql/var/ 啟動
資料庫服務,並新增到自啟動
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 755 /etc/rc.d/init.d/mysqld
加入自動啟動服務佇列:
#chkconfig --add mysqld
#chkconfig --level 345 mysqld on
新增root密碼
# /usr/local/mysql/bin/mysqladmin -u root password "123456"
測試一下:
# /usr/local/mysql/bin/mysql -u root -p
輸入密碼:123456,看能不能進入到
資料庫配置庫
檔案搜尋路徑
# echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig
# ldconfig -v
新增/usr/local/mysql/bin到環境變數path中
#echo "export path=$path:/usr/local/mysql/bin">>/etc/profile
#source /etc/profile
4、安裝php
這裡產生的是可執行檔案,和
apache的不一樣,和apache結合的時候產生的是動態庫
# tar -jxvf php-5.2.6.tar.bz2
# gzip -cd php-5.2.6-fpm-0.5.9.diff.gz |patch -d php-5.2.6 -p1
# cd php-5.2.6
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm --with-config-file-path=/usr/local/php/etc --enable-force-cgi-redirect
# make && make install
# cp php.ini-recommended /usr/local/php/etc/php.ini
# vi /usr/local/php/php-fpm.conf
(1)127.0.0.1:9000
修改為ip:9000 //本機就用預設的127.0.0.1
(2)下面這兩行去掉注釋並修改
/usr/sbin/sendmail -t -i
1(3)nobody //去注釋
(4)nobody //去注釋
(5)127.0.0.1 //允許連線的pc,本機就用127.0.0.1
啟動php-fpm
# /usr/local/php/sbin/php-fpm start
新增到自啟動
# echo "/usr/local/php/sbin/php-fpm start">>/etc/rc.local
5、修改nginx的配置檔案,支援php
} 注:
server部分為php虛擬主機
127.0.0.1:9000為fastcgi的pc,我這裡用的本機
/var/www/blog$fastcgi_script_name; 為php網頁儲存的目錄
測試配置檔案:
# /usr/local/nginx/sbin/nginx -t
6、優化linux核心引數
# 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
使配置立即生效:
# /sbin/sysctl -p
利用Nginx架設高效能的Web環境
注 php的版本要和fpm的版本一致 mysql 5.0.67.tar.gz discuz 6.0.0 sc utf8.zip 1 安裝pcre tar zxvf pcre 7.8.tar.gz cd pcre 7.8 configure make make install 2 安裝nginx ta...
高效能的伺服器的架設 軟體
高效能的伺服器的架設 軟體 php mysql 對於高效能 請求量大,如何支撐?1方面,要減少請求 靜態 php mysql 對於開發人員 合併css,js,背景 icon,減少mysql查詢等.資源的預載入 2 對於運維 nginx的expires,利用瀏覽器快取等,減少查詢.3 利用cdn來響應...
高效能Nginx最佳實踐
三,nginx配置location 配置塊 server 詳情 location會嘗試根據使用者請求中的uri來匹配location的uri表示式,如果可以匹配,就選擇location塊中的配置來處理使用者請求。示例 四,nginx常規配置 一 定義環境變數 語法 evn var var value...