当前位置:首页 » 编程软件 » 源码编译安装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