當前位置:首頁 » 編程軟體 » 源碼編譯安裝nginx

源碼編譯安裝nginx

發布時間: 2024-11-30 15:46:22

① centos5 婧愮爜瀹夎匩ginx + mysql + apache + php鐨勬柟娉

涓昏佷緷鐓х殑鏄寮犲寸殑涓綃囧崥鏂囥http://blog.s135.com/post/366/銆嬶紝瀹夎呯殑杞浠舵槸涔熸槸浠庝粬鎻愪緵鐨勫垪琛ㄤ腑涓嬭澆錛岃繖閲岄兘鏄痶ar.gz鏍煎紡錛屽傛灉鏇村笇鏈涙槸rpm鏍煎紡鐨勮瘽錛屾彁渚涗竴涓緗戝潃銆http://rpmfind.net/linux/rpm2html/search.php銆嬭繖閲屽垪鍑轟簡姣旇緝瀹屽叏鐨勪笅杞藉寘銆

鎴戝畨瑁呯殑緋葷粺錛欳entos5

1銆佷笅杞斤紱

鎴戝畨瑁呯殑涓嬭澆鏉ヨ嚜寮犲村崥鏂囦笅鐨勫湴鍧錛屼笅杞戒繚瀛樼殑鏄痟ome涓嬭嚜宸辯洰褰曠殑涓涓鏂囦歡澶逛笅錛

澶嶅埗浠g爜

   

浠g爜濡備笅:

cd /home/xuxx/software

   wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.7.51.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.8.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.8-fpm-0.5.10.diff.gz

   wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.1.33.zip

   wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz

   wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-7.8.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.5.3.tar.bz2

   wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz

   wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz

   wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.2.2.tgz

2銆佸噯澶囩紪璇戝畨瑁呯幆澧冿紝闇瑕佺紪璇戞簮鐮佺敤鍒癵c++

寤鴻濡傛灉鏄鏂板畨瑁呯殑緋葷粺錛屼嬌鐢▂um upgrade鏇存柊涓嬬郴緇熴

澶嶅埗浠g爜

   

浠g爜濡備笅:

sudo -s

   LANG=C

   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

娉ㄦ剰錛氳繖閲屾墍鏈夌殑鍛戒護鏄涓琛岀殑鑰屼笉鑳芥湁鎹㈣岀︼紝濡傛灉鏄痗opy鐨勬椂鍊欙紝娉ㄦ剰瑕佸幓澶勮ユ崲琛岀

紜淇濆畨瑁呮垚鍔燂紒鎵嶈兘姝g『浣跨敤緙栬瘧銆

3銆佸畨瑁咃細

涓銆佸畨瑁匬HP 5.2.8錛團astCGI妯″紡錛

1銆佺紪璇戝畨瑁匬HP 5.2.8鎵闇鐨勬敮鎸佸簱錛

1錛 libiconv搴

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf libiconv-1.13.tar.gz

   cd libiconv-1.13/

   ./configure --prefix=/usr/local

   make

   make install

   make clean

   make distclean

   cd ../

make clean 鍜宮ake distclean閮芥槸鍒犻櫎瀹夎呰繃紼嬩腑鐢熸垚鐨勭紦瀛樻枃浠躲傚綋鐒跺傛灉浣犱笉浠嬫剰鏀劇潃涔熷彲浠ヨ煩榪囪繖涓ゆユ竻鐞嗘搷浣溿

2錛絣ibmcrypt搴

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf libmcrypt-2.5.8.tar.gz

   cd libmcrypt-2.5.8/

   ./configure

   make

   make install

   make clean

   make distclean

   /sbin/ldconfig

   cd libltdl/

   ./configure --enable-ltdl-install

   make

   make install

   make clean

   make distclean

   cd http://www.cnblogs.com/

3] mhash搴

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf mhash-0.9.9.9.tar.gz

   cd mhash-0.9.9.9/

   ./configure

   make

   make install

   cd ../

4錛絤crypt搴

娉ㄦ剰錛氬洜涓鴻ュ簱鍜宭ibmcrypt鏈変緷璧栨э紝鎵浠ュ湪瀹夎呭墠蹇呴』鐭ラ亾libmcrypt錛屽惁鍒欑殑璇濅細鍑虹幇錛

閿欒

澶嶅埗浠g爜

   

浠g爜濡備笅:

checking for libmcrypt 鈥 version = 2.5.0鈥

   *** 鈥榣ibmcrypt-config 鈥搗ersion鈥 returned 2.4.0, but LIBMCRYPT (2.5.8)

   *** was found! If libmcrypt-config was correct, then it is best

   *** to remove the old version of LIBMCRYPT. You may also be able to fix the error

   *** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing

   *** /etc/ld.so.conf. Make sure you have run ldconfig if that is

   *** required on your system.

   *** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG

   *** to point to the correct of libmcrypt-config, and remove the file config.cache

   *** before re-running configure

   configure: error: *** libmcrypt was not found

鏄鍥犱負path鐨勯棶棰橈紝鎵浠ユ墽琛岋細

澶嶅埗浠g爜

   

浠g爜濡備笅:

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

鐒跺悗鍐嶅畨瑁咃細

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf mcrypt-2.6.8.tar.gz

   cd mcrypt-2.6.8/

   /sbin/ldconfig

   ./configure

   make

   make install

   cd ../

浜屻佸畨瑁卪ysql

澶嶅埗浠g爜

   

浠g爜濡備笅:

/usr/sbin/groupadd mysql

   /usr/sbin/useradd -g mysql xxx

   unzip mysql-5.1.33.zip

   cd mysql-5.1.33/

   ./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables

   --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase

   make

   make install

   make clean

   make distclean

   chmod +w /usr/local/webserver/mysql

   chown -R xxx:mysql /usr/local/webserver/mysql

   cp support-files/my-medium.cnf.sh /usr/local/webserver/mysql/my.cnf

   cd ../

娉ㄦ剰錛氳繖閲岀紪璇./configure鍛戒護鏄涓琛岀殑鑰屼笉鑳芥湁鎹㈣岀︼紝濡傛灉鏄痗opy鐨勬椂鍊欙紝娉ㄦ剰瑕佸幓澶勮ユ崲琛岀

鍦ㄦ渶鍚庝竴姝ユ嫹璐濈殑鏃跺欙紝鎴戝畨瑁呭畬鍦╯upport-files涓嬫病鏈塵y-medium.cnf鑰屽彧鏈塵y-medium.cnf.sh鎵浠ュ皢榪欎釜鏂囦歡鎷瘋礉榪囧幓銆

錛犲紶瀹村師鏂囷細

闄勶細浠ヤ笅涓洪檮鍔犳ラわ紝濡傛灉浣犳兂鍦ㄨ繖鍙版湇鍔″櫒涓婅繍琛孧ySQL鏁版嵁搴擄紝鍒欐墽琛屼互涓嬩袱姝ャ傚傛灉浣犲彧鏄甯屾湜璁㏄HP鏀鎸丮ySQL鎵╁睍搴擄紝鑳藉熻繛鎺ュ叾浠栨湇鍔″櫒涓婄殑MySQL鏁版嵁搴擄紝閭d箞錛屼互涓嬩袱姝ユ棤闇鎵ц屻

鈶犮佷互xxx鐢ㄦ埛甯愬彿鐨勮韓浠藉緩絝嬫暟鎹琛錛

澶嶅埗浠g爜

   

浠g爜濡備笅:

/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=xxx

鈶°佸惎鍔∕ySQL錛堟渶鍚庣殑琛ㄧず鍦ㄥ悗鍙拌繍琛岋級

澶嶅埗浠g爜

   

浠g爜濡備笅:

/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/usr/local/webserver/mysql/my.cnf

3銆佺紪璇戝畨瑁匬HP錛團astCGI妯″紡錛

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf php-5.2.8.tar.gz

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

   cd php-5.2.8/

   ./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql

   --with-mysqli=/usr/local/webserver/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

   make ZEND_EXTRA_LIBS='-liconv'

   make install

   cp php.ini-dist /usr/local/webserver/php/etc/php.ini

   cd ../

娉ㄦ剰錛氳繖閲./configure鍛戒護鏄涓琛岀殑鑰屼笉鑳芥湁鎹㈣岀︼紝濡傛灉鏄痗opy鐨勬椂鍊欙紝娉ㄦ剰瑕佸幓澶勮ユ崲琛岀

4銆佺紪璇戝畨瑁匬HP5鎵╁睍妯″潡--鍙閫夊畨瑁

澶嶅埗浠g爜

   

浠g爜濡備笅:

tar zxvf memcache-2.2.5.tgz

   cd memcache-2.2.5/

   /usr/local/webserver/php/bin/phpize

   ./configure --with-php-config=/usr/local/webserver/php/bin/php-config

   make

   make install

   make clean

   make distclean

   cd ../

   tar jxvf eaccelerator-0.9.5.3.tar.bz2

   cd eaccelerator-0.9.5.3/

   /usr/local/webserver/php/bin/phpize

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

   make

   make install

   make clean

   make distclean

   cd ../

   tar zxvf PDO_MYSQL-1.0.2.tgz

   cd PDO_MYSQL-1.0.2/

   /usr/local/webserver/php/bin/phpize

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

   make

   make install

   make clean

   make distclean

   cd ../

   tar zxvf ImageMagick.tar.gz

   cd ImageMagick-6.5.1-2/

   ./configure

   make

   make install

   make clean

   make distclean

   cd ../

   tar zxvf imagick-2.2.2.tgz

   cd imagick-2.2.2/

   /usr/local/webserver/php/bin/phpize

   ./configure --with-php-config=/usr/local/webserver/php/bin/php-config

   make

   make install

   make clean

   make distclean

   cd ../

5銆佷慨鏀筽hp.ini鏂囦歡

STRONG鎵嬪伐淇鏀癸細/STRONG鏌ユ壘/usr/local/webserver/php/etc/php.ini涓鐨別xtension_dir = "./"

淇鏀逛負extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"

騫跺湪姝よ屽悗澧炲姞浠ヤ笅鍑犺岋紝鐒跺悗淇濆瓨錛

extension = "memcache.so"

extension = "pdo_mysql.so"

extension = "imagick.so"

鍐嶆煡鎵緊utput_buffering = Off

淇鏀逛負output_buffering = On

6銆侀厤緗甧Accelerator鍔犻烶HP錛

mkdir -p /usr/local/webserver/eaccelerator_cache

vi /usr/local/webserver/php/etc/php.ini

鎸塻hift+g閿璺沖埌閰嶇疆鏂囦歡鐨勬渶鏈灝撅紝鍔犱笂浠ヤ笅閰嶇疆淇℃伅錛

澶嶅埗浠g爜

   

浠g爜濡備笅:

[eaccelerator]

   zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"

   eaccelerator.shm_size="128"

   eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"

   eaccelerator.enable="1"

   eaccelerator.optimizer="1"

   eaccelerator.check_mtime="1"

   eaccelerator.debug="0"

   eaccelerator.filter=""

   eaccelerator.shm_max="0"

   eaccelerator.shm_ttl="300"

   eaccelerator.shm_prune_period="120"

   eaccelerator.shm_only="0"

   eaccelerator.compress="1"

   eaccelerator.compress_level="9"

淇鏀歸厤緗鏂囦歡錛

vi /etc/sysctl.conf

kernel.shmmax = 134217728

鐒跺悗鎵ц屼互涓嬪懡浠や嬌閰嶇疆鐢熸晥錛/sbin/sysctl -p

浠ヤ笅鐨勬ラゅ拰寮犲存ラや腑涓鏍烽厤緗錛屼笉鍐嶈禈璇

② nginx如何監控

本文將介紹如何在 Linux 環境下通過源碼編譯安裝 Nginx,以及安裝相關依賴庫,並進行基本的監控配置。監控是運維過程中不可或缺的一部分,能夠幫助我們及時了解 Nginx 的運行狀態,以便在遇到問題時快速響應。

首先,確保編譯環境已經准備好。這包括安裝如 gcc、g++ 等開發庫。可通過運行以下命令完成:

sudo yum install gcc automake autoconf libtool make

緊接著,安裝 g++:

sudo yum install gcc g++

為了保證 Nginx 的性能,我們需要安裝 PCRE(Perl 核心擴展)和 zlib 庫。這兩者分別用於正則表達式處理和數據壓縮

下載並編譯安裝 PCRE 和 zlib 庫:

1. 下載並解壓 PCRE 源碼包,執行配置、編譯和安裝:

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

./configure

make && make install

隨後,下載 zlib 源碼包並進行安裝:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure

make && make install

為了保證 Nginx 能夠支持 SSL,需要安裝 SSL 庫。這里以 OpenSSL 為例:

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz

tar -zxvf openssl-1.1.0b.tar.gz

cd openssl-1.1.0b

./config

cd

make && make install

最後,進行 Nginx 的安裝:

cd /usr/local/src

wget https://nginx.org/download/nginx-1.22.1.tar.gz

解壓並配置 Nginx 安裝參數:

tar -zxvf nginx-1.22.1.tar.gz

cd nginx-1.22.1

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_mole --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.0b --prefix=/usr/local/nginx --with-http_stub_status_mole

編譯並安裝 Nginx:

make && make install

啟動 Nginx:

/usr/local/nginx/nginx

訪問 http://192.168.0.194/ 查看 Nginx 是否正常啟動。

為了監控 Nginx 的運行狀態,我們可以在配置文件中添加如下代碼:

# 設定 Nginx 狀態訪問地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
}

配置完成後,重啟 Nginx 並訪問 http://192.168.0.194/NginxStatus/ 查看狀態信息。

通過監控 Nginx 的狀態,可以獲取諸如活躍連接數、處理請求數等關鍵信息,有助於及時發現和解決問題。同時,監控 Nginx 的並發進程數和 TCP 連接狀態,能夠進一步優化系統性能。

總結而言,通過源碼編譯安裝 Nginx 並配置相應的監控選項,可以有效地實現對 Nginx 運行狀態的監控,確保其穩定運行並及時響應可能出現的問題。

熱點內容
ipad訪問google 發布:2024-11-30 18:33:13 瀏覽:696
360怎麼修改密碼 發布:2024-11-30 18:33:07 瀏覽:167
英雄之城源碼 發布:2024-11-30 18:27:03 瀏覽:440
培養人的腳本 發布:2024-11-30 18:03:54 瀏覽:255
wapphp源碼 發布:2024-11-30 18:02:37 瀏覽:516
濟南獲取網路時間伺服器地址 發布:2024-11-30 17:51:39 瀏覽:924
vivo忘記賬戶密碼怎麼辦 發布:2024-11-30 17:49:44 瀏覽:811
java上傳ftp時500 發布:2024-11-30 17:47:31 瀏覽:213
dnf配置打團卡是怎麼回事 發布:2024-11-30 17:46:42 瀏覽:658
為什麼搜不到麒麟9000的緩存 發布:2024-11-30 17:10:11 瀏覽:250