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

[经验分享] Centos6和Centos7上安装LAMP(PHP

[复制链接]

尚未签到

发表于 2018-4-20 13:55:47 | 显示全部楼层 |阅读模式
  -------------------------实验:CentOS 7安装LAMP(PHP-FPM模式)---------------------
  1、安装PHP-FPM
  首先要卸载PHP: yum remove php
      yum install php-fpm
  2、 查看php-fpm所对应的配置文件
  rpm -ql php-fpm
      /usr/lib/systemd/system/php-fpm.service
      /etc/logrotate.d/php-fpm
      /etc/php-fpm.conf
      /etc/php-fpm.d
      /etc/php-fpm.d/www.conf
      /etc/sysconfig/php-fpm
      /run/php-fpm
  3、PHP-FPM常见配置
   vim /etc/php-fpm.d/www.conf
  daemonize = no //是否将程序运行在后台
  listen = 127.0.0.1:9000 //FPM 监听地址(php-fpm占用的是9000端口)
  listen.backlog = -1 //等待队列的长度 -1表示无限制
  listen.allowed_clients = 127.0.0.1 //仅允许哪些主机访问【可以用逗号隔开,添加多个地址】
  pm = dynamic //PM开机进程是动态运行还是静态运行
  //static 固定数量的子进程,pm.max_childen
  //dynamic子进程数据以动态模式管理
  pm.start_servers=数字         开机几个进程
  pm.min_spare_servers=#   最少空闲几个进程
  pm.max_spare_servers=#   最多空闲几个进程
  pm.max_requests = 500   最多支持的并发请求
  php_value[session.save_handler] = files
  php_value[session.save_path] = /var/lib/php/session
  //设置session存放位置
  4、 启动PHP-FPM
      systemctl start php-fpm
  5、 安装httpd包
      yum install httpd
  6、查看Httpd mod_fcgi模块是否加载
      httpd -M | grep fcgi
      proxy_fcgi_module (shared)
  7、 添加FCGI的配置文件
  DirectoryIndex index.php
  ProxyRequests off //是否开启正向代理
  ProxyPassMatch ^/(.*\.php)$
  fcgi://127.0.0.1:9000/var/www/html/$1 //开启FCGI反向代理
  //前面的/相对于后面的/var/www/html而言,后面的$1是指前面的/(.*\.php)
  8、 重启Httpd:systemctl start httpd
  --------------------------实验:CentOS7编译安装LAMP----------------------------
   在centos7上编译安装LAMP:
  1、
   mairadb:通用二进制格式,mariadb-5.5.56
  httpd:编译安装,httpd-2.4.25
  php5:编译安装,php-5.6.30
  phpMyAdmin:安装phpMyAdmin-4.4.15.10-all-languages
  Xcache:编译安装xcache-3.2.0
  php5.4依赖于mariadb-devel包
   顺序:mariadb-->httpd-->php
  2、二进制安装mariadb
  (1)ftp://172.16.0.1/pub/Source/7.x86_64/mariadb/mariadb-5.5-46-linux-x86_64.tar.gz
  (2) tar xvf mariadb-5.5-46-linux-x86_64.tar.gz -C  /usr/local
  (3)cd /usr/local
      ls -sv mariadb-5.5.46-linux-x86_64 mysql
  (4)cd mysql
      chown -R root.mysql ./*
  (5)mkdir /mydata/data -p
      chown -R mysql.mysql /mydata/data
  (6)mkdir /etc/mysql
       cp support-files/my-large.cnf /etc/mysql/my.cnf
      vim /etc/mysql/my.cnf
          [mysqld]加三行
          datadir =/mydata/data
          innodb_file_per_table = ON
          skip_name_resolve = ON
  (7)bin/mysqld --help --verbose |less
  (8)scripts/mysql_install_db --user=mysql --datadir=/mydata/data
  (9)cp support-files/mysql.server /etc/rc.d/init.d/mysqld
  (10)chkconfig --add mysqld
          service mysqld start
  (11)测试
      /usr/local/mysql/bin/mysql 测试是否成功
       vim /etc/profile.d/mysql.sh
              export PATH=/usr/local/mysql/bin/:$PATH
  3、 编译安装httpd-2.4
   (1)yum install pcre-devel apr-devel apr-util-devel   openssl-devel
  (2)./configure --prefix=/app/httpd24 --
  sysconfdir=/etc/httpd24 --enable-so --enable-ssl --
  enable-rewrite --with-zlib --with-pcre --withapr=/usr
  --with-apr-util=/usr --enable-modules=most
  --enable-mpms-shared=all --with-mpm=prefork
  (3)make -j 4 && make install
  4、编译安装php-5.6
  相关包:
  (1)libxml2-devel bzip2-devel libmcrypt-devel (epel)
  (2)  ./configure --prefix=/app/php --withmysql=/usr/local/mysql
  --with-openssl --withmysqli=/usr/local/mysql/bin/mysql_config
  --enablembstring
  --with-png-dir --with-jpeg-dir --withfreetype-dir
  --with-zlib --with-libxml-dir=/usr --
  enable-xml --enable-sockets --withapxs2=/app/httpd24/bin/apxs
  --with-mcrypt --withconfig-file-path=/etc
  --with-config-file-scandir=/etc/php.d
  --with-bz2
  (3) make -j 4 && make install
  5、编译安装php-7.1.7
  (1) ./configure --prefix=/app/php --enable-mysqlnd --
  with-mysqli=mysqlnd --with-openssl --with-pdomysql=mysqlnd
  --enable-mbstring --with-freetype-dir
  --with-jpeg-dir --with-png-dir --with-zlib --withlibxml-dir=/usr
  --enable-xml --enable-sockets --
  with-apxs2=/app/httpd24/bin/apxs --with-mcrypt --
  with-config-file-path=/etc --with-config-file-scandir=/etc/php.d
  --enable-maintainer-zts --disablefileinfo
  注意:php-7.0以上版本使用--enable-mysqlnd --withmysqli=mysqlnd,原--with-mysql不再支持。
  (2)为php提供配置文件
  cp php.ini-production /etc/php.ini
  (3) 编辑apache配置文件httpd.conf,以使apache支持php
  vim /etc/httpd24/conf/httpd.conf
  a.加二行
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  b.定位至DirectoryIndex index.html
  修改为DirectoryIndex index.php index.html
  (4) apachectl restart
  ----------------------centos6上编译安装LAMP------------------------------
  mairadb:通用二进制格式,mariadb-5.5.56
   httpd:编译安装,httpd-2.4.27
   php5:编译安装,php-5.6.30
   Wordpress: 安装wordpress-4.8-zh_CN.tar.gz
   Xcache:编译安装xcache-3.2.0
   php5.4依赖于mariadb-devel包
   实现顺序:mariadb-->httpd-->php
  (1)编译httpd和二进制安装mariadb
   安装相关包
  bzip2-devel libxml2-devel libmcrypt-devel(epel源)
  (2)编译安装php
   cd php-5.6.30/
  ./configure --prefix=/app/php5 --withmysql=/usr/local/mysql
  --with-openssl --withmysqli=/usr/local/mysql/bin/mysql_config
  --enablembstring
  --with-freetype-dir --with-jpeg-dir --
  with-png-dir --with-zlib --with-libxml-dir=/usr --
  enable-xml --enable-sockets --enable-fpm --withmcrypt
  --with-config-file-path=/etc/php5 --withconfig-file-scan-dir=/etc/php5.d
  --with-bz2
  (3) make -j 4 && make install
  (4)实现php的配置文件和服务脚本
  mkdir /etc/php5 /etc/php5.d/
  cd php-5.6.30/
  cp php.ini-production /etc/php5/php.ini
  cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
  chmod +x /etc/rc.d/init.d/php-fpm
  chkconfig --add php-fpm
  chkconfig --list php-fpm
  (5)编辑php配置文件
   cd /app/php5/etc
  cp php-fpm.conf.default php-fpm.conf
  vim /app/php5/etc/php-fpm.conf
  pm.max_children = 50
  pm.start_servers = 5
  pm.min_spare_servers = 2
  pm.max_spare_servers = 5 和pm.start_servers一致
  pid = /app/php5/var/run/php-fpm.pid
  (6) service php-fpm restart
  (7)修改httpd24的配置文件
   vim /app/apache24/conf/httpd.conf
  说明:启用httpd的相关模块
  在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载去掉下面两行注释
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_fcgi_module
  modules/mod_proxy_fcgi.so
  (8)添加如下二行
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  (9)定位至DirectoryIndex index.html修改为:
  DirectoryIndex index.php index.html
  加下面两行
  ProxyRequests Off 关闭正向代理
  ProxyPassMatch ^/(.*\.php)$
  fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
  service httpd24 restart
  (10)测试
  vim /app/httpd24/htdocs/index.php
  如下:
  <?php
  $link =
  mysql_connect('127.0.0.1','root','magedu');
  if ($link)
  echo "Success...";
  else
  echo "Failure...";
  mysql_close();
  phpinfo();
  ?>

运维网声明 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-449724-1-1.html 上篇帖子: centos6上虚拟主机的实现 下篇帖子: centos7.4编译安装nginx
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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