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

[经验分享] nginx与php,mysql的安装,配置与优化

[复制链接]

尚未签到

发表于 2018-11-15 08:26:00 | 显示全部楼层 |阅读模式
  FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,
  FastCGI的工作原理是:
  (1) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(多个php-cgi进程)并等待来自Web Server的连接。启动php-cgi FastCGI进程的两种方式:TCP和UNIX套接字。
  (2)当客户端请求到达Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX套接字方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
  (3) FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web服务器(Nginx)。当FastCGI子进程关闭连接时,请求便告知处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器的下一个连接。而在一般的普通CGI模式中,php-cgi在此便退出了。
  所以,你可以想象普通的CGI模式有多慢。每一个Web请求PHP都必须重新解析php.ini,重新载入全部扩展并重新初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。    PHP FastCGI的优点:
  (1) PHP脚本运行速度更快。PHP解释程序被载入内存而不用每次需要时从存储器读取,此举极大提升了依靠脚本运行站点的性能。
  (2)须要使用的系统资源更少。由于服务器不用在每次需要时都载入PHP解释程序,你可以将站点的传输速度提升很多而不必增加CPU负担。
  (3)不需要对现有的代码作任何改变。运行在Apache+PHP上的程序,无须修改印可适用于PHP的FastCGI。
  安装 php
  (1)若服务器为centos,升级以下软件包
  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
  (2)编译安装 php5.2.10 所需的支持库
  libiconv-1.13.tar.gz
  libmcrypt-2.5.8.tar.gz
  mhash-mhash-0.9.9.9.tar.gz
  mcrypt-2.6.8.tar.gz
  (3)编译安装php5.2.10(fastCGI模式)
  php-5.2.10.tar.gz
  (4)编译安装php5扩展模块
  memcache-2.2.5.tgz
  eaccelerator-0.9.5.3.tar.bz2
  PDO_MYSQL-1.0.2.tgz
  ImageMagick.tar.gz
  imagick-2.2.2.tgz
  (5)修改php.ini文件:
DSC0000.png

  增加以下几行并保存
DSC0001.png

  (6)配置eaccelerator加速php
  (7)创建www用户和组,以及供blog.domain.com和www.domian.com虚拟主机使用的目录
DSC0002.png

  (8)创建php-fpm配置文件(php-fpm是php的一个fastCGI管理补丁,可以平滑变更php.ini配置而无须重启php-cgi)
  (9)启动php-cgi进程,监听127.0.0.1的9000端口,进程数为128(如果服务器内存小于3GB,可以只开启64个进程),用户为www
  ulimit -SHn 65535
  /usr/local/php/sbin/php-fpm start
  编译安装mysql
  如果你想在这台服务器上运行MySQL数据库,则执行以下几步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下几步无需执行。
  1、创建MySQL数据库存放目录
  2、以mysql用户帐号的身份建立数据表:
  3、创建my.cnf配置文件:
  4、创建管理mysql数据库的shell脚本
  5、赋予shell脚本可执行的权限
  6、启动mysql
  7、通过命令行登陆管理mysql服务器(提示输入密码时直接回车)
  8、输入以下SQL语句,创建一个具有root权限的用户(admin)和密码(12345678):

  GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'>
  GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1'>  9、(可选)停止mysql
  编译安装nginx
  1)安装Nginx所需的pcre库:
  pcre-8.10.tar.gz
  2)安装Nginx
  nginx-0.8.46.tar.gz
  3) 创建Nginx日志目录
  mkdir -p /data1/logs
  chmod +w /data1/logs
  chown -R www:www /data1/logs
  4) 创建Nginx配置文件
  1、在/usr/local/nginx/conf/目录中创建nginx.conf文件:
  2、在/usr/local/nginx/conf/目录中创建fcgi.conf文件:
  5)启动Nginx
  ulimit -SHn 65535
  /usr/local/nginx/sbin/nginx


运维网声明 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-635195-1-1.html 上篇帖子: nginx 499 502 413 404 处理 下篇帖子: nginx+PHP(FastCGI)配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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