1.å¦ä½å¨çº¿å®è£
pcre
2.nginx如何监控?源码
3.Nginx编译所需基本库pcre、zlib、包去openssl
4.centos7.0怎么安装pane啊?
5.å¦ä½å¨ç³»ç»å®è£
ARGB
6.Nginx系列:依赖安装(pcre,源码zlib,openssl)(2)
å¦ä½å¨çº¿å®è£ pcre
pcreæ¯ä¸ä¸ªcè¯è¨æ£è§å¹é åº
æ ¹æ®ä¸åçåè¡çææä¾çå·¥å ·æä¸åçæ£æ¥æ¹æ³
æ¯å¦debianç³»å¯ä»¥ä½¿ç¨dpkgæ¥æ¥ç
æ¯å¦ä½¿ç¨dpkg -l | grep pcre éè¿grepå¹é ç¶åä»è¾åºçå表ä¸æ¥æ¾æ¯å¦æç¸åºå®è£ çä¸è¥¿
æ¯å¦archå¯ä»¥ä½¿ç¨pacman -Qsæ¥è¿è¡æ£æ¥
gentooå¯ä»¥ä½¿ç¨emerge -plæ¥ççç
æ»ä¹ä¸åçåè¡çæ¥è¯¢çæ¹æ³ä¸å
å¦ä¸æ¹é¢ä¹å¯ä»¥ä½¿ç¨manæè infoè¿ç§æ¹æ³é´æ¥æ¥è¯¢ï¼è½ç¶å¹¶ä¸å¤ªåå¤ä½ä¹ä¸å¤±ä¸ç§æ¹æ³
æ¯å¦ä½¿ç¨man pcre_execæè info pcreï¼å¦æ没æç»æå¯è½å°±æ²¡æå®è£
æè ä¹å¯ä»¥å»/usr/includeç®å½ä¸æ¥çæ¯å¦æpcre.hè¿ä¸ªå¤´æ件以åå°/libæè /usr/libççå°æ¹æ¥çæ¯å¦æç¸å ³åºä»¥å使ç¨gccç¼è¯ä¸ä¸ªä½¿ç¨äºpcreåºçæºä»£ç 使ç¨-lpcreåæ°è¿è¡é¾æ¥æ¥ç
å½ç¶è¿äºæ¹æ³å¹¶ä¸åå¤ï¼åªè½ä½ä¸ºåèï¼è¿æ¯åºè¯¥çæèªå·±åè¡çææä¾çå·¥å ·ä¸è¬ä¸ºå 管çå·¥å ·
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..tar.gz
tar -zxvf pcre-8..tar.gz
cd pcre-8.
./configure
make && make install
随后,鬼火引擎源码下载 zlib 源码包并进行安装:
cd /usr/local/src
wget 2.php.net/distributions/php-5.4.7.tar.gztar zvxf php-5.4.7.tar.gz
cd php-5.4.7./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \--enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath \--enable-inline-optimization --with-bz2 --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir
make all install
æ§çæå¨æè¡¥ä¸php-fpmå®è£ ï¼æ§çç¨åºå·²ç»æ²¡æäºï¼å¤§å®¶æ°ççå§ï¼è¿éå个å±ç¤ºï¼
wget 2.php.net/get/php-5.2..tar.gz
wget tl -enable-sockets -with-bz2 -with-curl -with-curlwrappers\
-enable-mbregex -with-gd -enable-gd-native-ttf -enable-zip -enable-soap -with-iconv -enable-bcmath\
-enable-shmop -enable-sysvsem -enable-inline-optimization -with-ldap -with-ldap-sasl -enable-pdo\
-with-pdo-mysql
make all install
以ä¸ä¸¤ç§æ¹å¼é½å¯ä»¥å®è£ php-fpmï¼å®è£ åå 容æ¾å¨/usr/local/phpç®å½ä¸
以ä¸å°±å®æäºphp-fpmçå®è£ ã
ä¸é¢æ¯å¯¹php-fpmè¿è¡ç¨æ·è¿è¡è®¾ç½®
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
vi etc/php-fpm.conf
ä¿®æ¹
user = www-data
group = www-data
å¦æwww-dataç¨æ·ä¸åå¨ï¼é£ä¹å æ·»å www-dataç¨æ·
groupadd www-data
useradd -g www-data www-data
äºãç¼è¯å®è£ nginx
ç¶ånginxï¼
nginxå¯ä»¥ä½¿ç¨åå¹³å°çé»è®¤å æ¥å®è£ ï¼æ¬ææ¯ä»ç»ä½¿ç¨æºç ç¼è¯å®è£ ï¼å æ¬å ·ä½çç¼è¯åæ°ä¿¡æ¯ã
æ£å¼å¼å§åï¼ç¼è¯ç¯å¢gcc g++ å¼ååºä¹ç±»çéè¦æåè£ å¥½ï¼è¿éé»è®¤ä½ å·²ç»è£ 好ã
ububtuå¹³å°ç¼è¯ç¯å¢å¯ä»¥ä½¿ç¨ä»¥ä¸æ令
1
2
apt-get install build-essential
apt-get install libtool
centoså¹³å°ç¼è¯ç¯å¢ä½¿ç¨å¦ä¸æ令
å®è£ makeï¼
1
yum -y install gcc automake autoconf libtool make
å®è£ g++:
1
yum install gcc gcc-c++
ä¸é¢æ£å¼å¼å§
---------------------------------------------------------------------------
ä¸è¬æ们é½éè¦å è£ pcre, zlibï¼åè 为äºéårewriteï¼åè 为äºgzipå缩ã
1.éå®æºç ç®å½
å¯ä»¥æ¯ä»»ä½ç®å½ï¼æ¬æéå®çæ¯/usr/local/src
1
cd /usr/local/src
2.å®è£ PCREåº
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ä¸è½½ææ°ç PCRE æºç å ï¼ä½¿ç¨ä¸é¢å½ä»¤ä¸è½½ç¼è¯åå®è£ PCRE å ï¼
1
2
3
4
5
6
7
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8..tar.gz
tar -zxvf pcre-8..tar.gz
cd pcre-8.
./configure
make
make install
3.å®è£ zlibåº
e to nginx! å表示 Nginx å·²ç»å®è£ 并è¿è¡æåã
-----------------------------------------------------
å°è¿énginxå°±å®è£ å®æäºï¼å¦æåªæ¯å¤çéæhtmlå°±ä¸ç¨ç»§ç»å®è£ äº
å¦æä½ éè¦å¤çphpèæ¬çè¯ï¼è¿éè¦å®è£ php-fpmã
ä¸é¢å®è£ æé
éï¼å¯è½éå°çé误åä¸äºå¸®å©ä¿¡æ¯
1.1ç¼è¯pcreé误
1
2
3
4
5
libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
libtool: compile: Try `libtool --help' for more information.
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/usr/local/src/pcre-8.'
make: *** [all] Error 2
解å³åæ³ï¼å®è£ g++,å«å¿äºéæ°configure
1
2
3
4
5
apt-get install g++
apt-get install build-essential
make clean
./configure
make
1.2 makeåºé
1
2
3
4
5
make: *** No rule to make target `build', needed by `default'. Stop.
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.
æç §ç¬¬4æ¥çå®è£ æ¹æ³æ
ubuntuä¸
1
2
apt-get install openssl
apt-get install libssl-dev
centosä¸
1
yum -y install openssl openssl-devel
2.nginxç¼è¯é项
makeæ¯ç¨æ¥ç¼è¯çï¼å®ä»Makefileä¸è¯»åæ令ï¼ç¶åç¼è¯ã
make installæ¯ç¨æ¥å®è£ çï¼å®ä¹ä»Makefileä¸è¯»åæ令ï¼å®è£ å°æå®çä½ç½®ã
configureå½ä»¤æ¯ç¨æ¥æ£æµä½ çå®è£ å¹³å°çç®æ ç¹å¾çãå®å®ä¹äºç³»ç»çå个æ¹é¢ï¼å æ¬nginxç被å 许使ç¨çè¿æ¥å¤ççæ¹æ³ï¼æ¯å¦å®ä¼æ£æµä½ æ¯ä¸æ¯æCCæGCCï¼å¹¶ä¸æ¯éè¦CCæGCCï¼å®æ¯ä¸ªshellèæ¬ï¼æ§è¡ç»ææ¶ï¼å®ä¼å建ä¸ä¸ªMakefileæ件ãnginxçconfigureå½ä»¤æ¯æ以ä¸åæ°ï¼
--prefix=path å®ä¹ä¸ä¸ªç®å½ï¼åæ¾æå¡å¨ä¸çæ件 ï¼ä¹å°±æ¯nginxçå®è£ ç®å½ãé»è®¤ä½¿ç¨ /usr/local/nginxã
--sbin-path=path 设置nginxçå¯æ§è¡æ件çè·¯å¾ï¼é»è®¤ä¸º prefix/sbin/nginx.
--conf-path=path 设置å¨nginx.confé ç½®æ件çè·¯å¾ãnginxå 许使ç¨ä¸åçé ç½®æ件å¯å¨ï¼éè¿å½ä»¤è¡ä¸ç-cé项ãé»è®¤ä¸ºprefix/conf/nginx.conf.
--pid-path=path 设置nginx.pidæ件ï¼å°åå¨ç主è¿ç¨çè¿ç¨å·ãå®è£ å®æåï¼å¯ä»¥éæ¶æ¹åçæ件å ï¼ å¨nginx.confé ç½®æ件ä¸ä½¿ç¨ PIDæ令ãé»è®¤æ åµä¸ï¼æ件å 为prefix/logs/nginx.pid.
--error-log-path=path 设置主é误ï¼è¦åï¼åè¯ææ件çå称ãå®è£ å®æåï¼å¯ä»¥éæ¶æ¹åçæ件å ï¼å¨nginx.confé ç½®æä»¶ä¸ ä½¿ç¨ çerror_logæ令ãé»è®¤æ åµä¸ï¼æ件å 为prefix/logs/error.log.
--pilationâï¼1.1.ä¸ï¼ pcre_jitæ令ï¼ã
--with-zlib=path â设置çzlibåºçæºç è·¯å¾ãè¦ä¸è½½ä» zlibï¼çæ¬1.1.3 - 1.2.5ï¼ç并解åãå ¶ä½çå·¥ä½æ¯Nginxç./ configureåmakeå®æãngx_/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
tar -zxvf libmcrypt-2.5.8.tar.gz
cd /usr/local/src/libmcrypt-2.5.8
./configure --prefix=/usr/local
make
make install
7. php-fpm 5.4.7 å¦ä½å ³é éå¯ï¼
php 5.4.7 ä¸çphp-fpm ä¸åæ¯æ php-fpm 以åå ·æç /usr/local/php/sbin/php-fpm (start|stop|reload)çå½ä»¤ï¼éè¦ä½¿ç¨ä¿¡å·æ§å¶ï¼
masterè¿ç¨å¯ä»¥ç解以ä¸ä¿¡å·
INT, TERM ç«å»ç»æ¢ QUIT å¹³æ»ç»æ¢ USR1 éæ°æå¼æ¥å¿æ件 USR2 å¹³æ»éè½½ææworkerè¿ç¨å¹¶éæ°è½½å ¥é ç½®åäºè¿å¶æ¨¡å
示ä¾ï¼
php-fpm å ³éï¼
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm éå¯ï¼
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
æ¥çphp-fpmè¿ç¨æ°ï¼
ps aux | grep -c php-fpm
8.å½ä»¤è¡ä¸æ§è¡phpï¼æ示æ¾ä¸å°å½ä»¤
-bash: /usr/bin/php: No such file or directory
vi /etc/profile
å¨æ件åºé¨å¢å ä¸è¡é ç½®
export PATH=/usr/local/php/bin:$PATH
ä¿åéåº
source /etc/profile
éå pathinfoé ç½®
location ~ ^(.+\.php)(.*)$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
Nginx系列:依赖安装(pcre,zlib,openssl)(2)
上一篇文章
在学习编译安装Nginx之前,必须安装好Nginx的依赖项,这些包括函数库和软件:pcre,zlib,openssl。
关键词:pcre/pcre2/pcre-devel安装,zlib/zlib-devel安装,openssl源码安装
特别提醒:
在安装软件时,使用:./configure,adb源码原理默认路径为:/usr/local/。建议在安装时指定路径:
./configure --prefix=/usr/local/pcre-8.-6/
./configure --prefix=/usr/local/zlib-1.2./
./configure --prefix=/usr/local/openssl-3.0.7/
便于后期删除软件,切换版本等。
特别提醒:
特别注意:Nginx不支持pcre2版本!
尽管先下载pcre2源码编译安装,但这里的步骤和截图以pcre2为例。
一,下载地址
官网: pcre.org,可下载最新版本
选择pcre版本即可,netty dubbo源码Nginx不支持pcre2,这里演示的是pcre2版本。
二,下载源码包
在官网找到对应的下载页,复制下载链接
cd /usr/local/src
mkdir pcre
cd pcre
wget –O ./pcre2-..tar.gz sourceforge.net/project...
说明:学习Linux的目录结构后,要养成规范使用的习惯,把源码放到/usr/local/src目录下
规范参看:
三,解压源码包
tar –zxvf pcre2-..tar.gz
四,配置安装参数
cd pcre2-.
./configure –-help (可以查看很多安装的建站专家源码参数,自主进行选择)
./configure (一般直接默认配置就行,会生成Makefile,默认安装目录是/usr/local)
五,编译make
会调用刚才生成的编译文件Makefile
六,检查make check
这个命令可以跳过,部分软件没有make check命令
七,安装make install
直接执行安装即可
八,检查安装
cd /usr/local/lib
查看目录下有没有libpcre2的动态库文件
九,卸载软件/库
一般的软件都会在编译安装时,写好uninstall卸载指令
cd /usr/local/src/pcre/pcre2-.
make uninstall
则会把安装的函数库全部删除,完成卸载
十,重新编译和安装
先清除旧的安装参数配置和包残留
make clean(部分软件是make clean all)
再重回第三步:./configure进行配置即可
官网地址: zlib.net/,可下载最新版本
具体的安装流程与上面的pcre相同,不再详细描述,都是:
选择安装包,下载安装包,解压安装包,进入目录
执行./configure --> make --> make check --> make install
去安装目录(这里默认是/usr/lcoal/lib)检查是否存在zlib的so库
官网地址: /index.html (openssl.org),可下载最新版本
具体的安装流程与上面的pcre相同,不再详细描述,都是:
选择安装包,下载安装包,解压安装包,进入目录
执行./configure --> make --> make check --> make install
./configure可能会遇到一些问题:
执行:yum -y install perl-IPC-Cmd
说明:安装的openssl不是函数库,而是软件!
所以直接去安装目录(这里默认是/usr/local)下找openssl的目录
如果直接执行openssl version,可能会报找不到命令:那就是没有没有把安装目录加入系统环境
参看这篇文章:
或者显示的版本不是你安装的版本:那就是原本系统就装有openssl
我的做法是:
find / -name openssl 或者 whereis openssl
找到所有的openssl文件,函数库,执行软件等,都删除
再根据上面的方法重新安装,并配置系统环境
pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的
zlib-devel也是同样的作用
这2个我没有找到对应的源码安装包,所以只用使用yum安装了
yum -y install pcre-devel
yum -y install zlib-devel
这里也算是体现了源码安装 + yum安装结合的方式了
或许你可以看看这篇文章:
下一期详细写如何在Linux下源码编译安装Nginx,敬请期待!