设为首页 收藏本站
查看: 1753|回复: 0

[经验分享] LNMP源码编译安装之PHP

[复制链接]

尚未签到

发表于 2018-12-12 08:18:22 | 显示全部楼层 |阅读模式
  一.FastCGI

快速通用网关接口(socket),为HTTP服务器与其他机器上的程序服务通信交流工具常规web程序都支持。
  LNMP运行过程和解析原理

原理白话
用户访问NginxWeb服务器-Ngixn负责解析静态数据(jpg,gif,css,js,avi,html)也接受动态数据(.php)动态数据通过FastCGI接口后抛(fastcgi_pass监听 http://x.x.x.x:9000)给PHP服务器(php-fpm多个进程监听9000端口)[进程配置文件php-fpm.conf设置进程数量]监听到请求就会调用wrapper程序,wrapper会再启多个线程调用PHP解析器(引擎)进行解析,如要连数据库则向后数据库(dbip,root.pass.port3306)进行请求.数据库再将数据通过FastCGI将数据发给Nginx服务器后,Nginx再给用户
  确定nginx与数据库是启动的

[root@web01 ~]# netstat -tunlp|egrep "3306|80"
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1657/mysqld         
tcp        0      0 0.0.0.0:80
  检查php所需的;lib库

[root@web01 ~]# rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel
libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64
libpng-devel-1.2.49-2.el6_7.x86_64
freetype-devel-2.3.11-17.el6.x86_64
gd-devel-2.0.35-11.el6.x86_64
libcurl-devel-7.19.7-53.el6_9.x86_64
zlib-devel-1.2.3-29.el6.x86_64
libxml2-devel-2.7.6-21.el6_8.1.x86_64
  更新bash源
wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-6.repo
更新epel源
wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-6.repo
  yum安装lib库及哈希程序

yum install -y  zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel
yum install -y  mcrypt mhash
cd /home/oldboy/tools/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
  Centos7 下需要先操作如下

cd  srclib/
sed -i -e '/gets is a security/d' ./stdio.in.h
|
make &&make install
  再次确认基础库和扩展库程序是否安装齐全

[root@web01 tools]# rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel  mcrypt  mhash
libxslt-devel-1.1.26-2.el6_3.1.x86_64
mhash-0.9.9.9-3.el6.x86_64
libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64
libmcrypt-devel-2.5.8-9.el6.x86_64
libpng-devel-1.2.49-2.el6_7.x86_64
freetype-devel-2.3.11-17.el6.x86_64
gd-devel-2.0.35-11.el6.x86_64
libcurl-devel-7.19.7-53.el6_9.x86_64
zlib-devel-1.2.3-29.el6.x86_64
libxml2-devel-2.7.6-21.el6_8.1.x86_64
mcrypt-2.6.8-10.el6.x86_64
  要一步一检查


  • php安装*
    http://mirrors.sohu.com/php/
  • php安装参数*

./configure \
--prefix=/application/php5.5.32 \--with-mysql=/application/mysql/ \--with-pdo-mysql=mysqlnd \--with-iconv-dir=/usr/local/libiconv \--with-freetype-dir \--with-jpeg-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \--enable-xml \--disable-rpath \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--with-curl \--enable-mbregex \--enable-fpm \--enable-mbstring \--with-mcrypt \--with-gd \--with-openssl \--with-mhash \--enable-gd-native-ttf \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-soap \--enable-short-tags \--enable-static \--with-xsl \--with-fpm-user=www \--with-fpm-group=www \--enable-ftp \--enable-opcache=no

  [root@web01 php-5.5.32]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@web01 php-5.5.32]# touch ext/phar/phar.phar
编译
[root@web01 php-5.5.32]#make && make install

  [root@web01 php-5.5.32]# ln -s /application/php5.5.32/ /application/php
设置php-fpm主配置文件
  [root@web01 php-5.5.32]# cp php.ini-production /application/php/lib/php.ini
[root@web01 php5.5.32]# cd /application/php/etc/
[root@web01 etc]# cp php-fpm.conf.default php-fpm.conf
[root@web01 ~]# /application/php/sbin/php-fpm  
[root@web01 ~]# lsof -i :9000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 30476 root    7u  IPv4 155336      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 30477  www    0u  IPv4 155336      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 30478  www    0u  IPv4 155336      0t0  TCP localhost:cslistener (LISTEN)
[root@web01 ~]# netstat -tunlp|grep "php-fpm"
tcp        0      0 127.0.0.1:9000      0.0.0.0:*   LISTEN      30476/php-fpm





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650320-1-1.html 上篇帖子: php依赖注入 下篇帖子: php trait学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表