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

[经验分享] Linux+Nginx+MySQL+PHP-Ty

[复制链接]

尚未签到

发表于 2018-11-12 12:29:09 | 显示全部楼层 |阅读模式
  小编:这几年随着电子商务的蓬勃发展,也带动Web的高速发展。人们对于网站的要求已经不仅仅是用于浏览新闻、消遣娱乐这么简单了,更注重的是网站的安全和效率.是否能提供更加人性化、贴心的服务俨然已经成为了现代电商竞争的筹码.举个很简单的例子:现在网上最火的是什么?每天的茶余饭后,大家讨论最多的话题是什么?亲,你抢到XXX手机了吗?往往这个时候,论坛是最火的,大家都在不停跟帖、刷心情,说什么呢?神马都有。前几年讨论较多往往是:XXX网站,你进去了没?真受不了这网站了?等了XXX时间,还没进去,好不容易进去了,网站又卡死掉了,然后。。。。这几年讨论较多的往往是:我很轻松就进去了,抢了一台XXX手机,然后晒单,发微博,发心情,欢呼雀跃。。。。
  想必这样的经历,对于90后的我们并不陌生吧。小编有幸也体验过几把,也是几多欢喜几多愁.不过,随着Web的高速发展,已经基本能满足我们的需求了,相信未来的网站会让我们的生活更加美好!言归正传,网站的稳定高速发展来不开环境的支持,一个稳定的环境能提供Web发展的不竭动力.现在我们大多数门户网站使用较多的架构有两种:LAMP(Linux+Apache+MySQL+PHP);LNMP(Linux+Nginx+MySQL+PHP).
  我们比较熟悉的基于LAMP环境开发的门户网站:Yahoo、Facebook、Sina、YouTube等;基于LNMP环境开发的门户网站:淘宝Tengine等.在前面的博客《LAMP环境源码构建》中,小编用最新的源码搭建了LAMP环境,有兴趣的博友可以看下。
  博客地址:http://tywangpanpan.blog.51cto.com/6264315/1177325
  今天我们来用源码搭建一下LNMP环境,可以熟悉一下两种架构环境的差别.比较学习一下,下面一起开始我们今天的配置吧!!!
  【系统环境】
  Red Hat Enterprise Linux Server release 5.4
  内核版本(2.6.18-164.e15)
  最新稳定版(3.8.6)可以自行编译升级
  Linux内核官网: http://www.kernel.org/
  【准备工作】
  ①下载Nginx最新版源码包:http://www.nginx.org/ (nginx-1.3.16.tar.gz)
  ②下载Libevent最新版源码包:http://www.libevent.org/
  (libevent-2.0.18-stable.tar.gz)
  ③下载MySQL 源码包:http://www.mysql.com/downloads/
  (mysql-5.5.15-linux2.6-i686.tar.gz)
  说明:本次用的Mysql为绿色版(已经cmake编译过的),如果你下的是未编译的源码,还需要先安装cmake工具进行Mysql编译.
  具体的过程可以参考:
  http://tywangpanpan.blog.51cto.com/6264315/1177325
  ④下载PHP源码包:http://www.php.net/(php-5.4.14.tar.bz2)
  ⑤下载Xcache最新版源码包:http://xcache.lighttpd.net/
  (xcache-3.0.1.tar.gz)
  【配置详情】
  一:MySQL的安装
  Step1:创建Mysql需要的组和服务账号(nologin)
  groupadd -r mysql
  useradd  -r  -g mysql mysql  -M -s /sbin/nologin
  Step2:解压缩源码包到指定目录.
  tar zxvf  mysql-5.5.15-linux2.6-i686.tar.gz  -C/usr/local/
  cd  /usr/local/
  ln  -s  mysql-5.5.15-linux2.6-i686  mysql
  cd  mysql
  vim  INSTALL-BINARY(MySQL安装配置的说明文件,下面按此步骤进行就OK了)
DSC0000.png

  cd  /usr/local/mysql
  chown  -R  mysql .
  chgrp  -R  mysql .
  scripts/mysql_install_db  --user=mysql(执行初始化mysql数据库脚本)
  chown  -R  root .
  chown  -R  mysql data
  Step3:拷贝生成MySQL的主配置文件和服务的启动控制脚本.
  cp  support-files/my-medium.cnf  /etc/my.cnf
DSC0001.png

  cp  support-files/mysql.server  /etc/init.d/mysqld
  chmod  a+x  /etc/init.d/mysqld
  Step4:进行MySQL的相关优化操作.
  ①将MySQL/bin路径加入到系统环境变量.
  vim  /etc/frofile
DSC0002.png

  . /etc/profile ( source  /etc/profile ):让新加入的环境变量生效.
DSC0003.png

  ②将MySQL/bin库文件路径加入到系统库.
  vim  /etc/ld.so.conf.d/mysql.conf
DSC0004.png

  ldconfig  (将MySQL库加入到系统库中)
  ③将MySQL/inchude头文件路径加入到系统路径.
  ln  -s  include/  /usr/include/mysql
  Step4:启动服务,修改启动级别,添加MySQL管理员密码.
  service  mysqld  start
  mysqladmin  -u  root  -p  password  ‘123456’
  二:Nginx的源码安装
  Step1:RPM安装Red Hat光盘上的pcre-devel软件包.
  rpm  -ivh  pcre-devel-6.6-2.e15_1.7.i386.rpm
  Step5:源码安装libevent.
  vim /etc/profile
DSC0005.png

  . /etc/profile
DSC0006.png

  vim /etc/ld.so.conf.d/libevent.conf
DSC0007.png

  ldconfig
  ln -s /usr/local/libevent/include/ /usr/include/libevent
  Step3:创建Nginx服务的nologin系统账号
  groupadd  -r nginx
  useradd -r  -g  nginx  -M  nginx
  Step4:解压缩源码.
  tar  zxvf  nginx-1.3.16.tar.gz  -C /usr/local/src/
  cd  /usr/local/src/nginx-1.3.16
  Step5:源码安装Nginx.
  ./configure \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --with-pcre
  make  &&  make install
  Step5:编写Nginx的服务启动控制脚本,并能接受chkconfig的管理.
DSC0008.png

DSC0009.png

DSC00010.png

  cp  nginx  /etc/init.d/
  Step6:启动服务,查询状态.
DSC00011.png

  三:PHP的源码安装
  Step1:解压缩源码包.
  tar  jxvf  php-5.4.14.tar.bz2  -C /usr/local/src/
  cd  /usr/local/src/php-5.4.14
  Step2:编译安装.
  ./configure    \
  --prefix=/usr/local/php  \
  --enable-fpm   \
  --enable-sockets  \
  --with-mysql=/usr/local/mysql \
  --with-mysqli=/usr/local/mysql/bin/mysql_config  \
  --enable-mbstring  \
  --enable-xml  \
  --with-png-dir \
  --with-png  \
  --with-jpeg-dir  \
  --with-zlib  \
  --with-freetype-dir \
  --with-config-file-path=/etc/php \
  --with-caonfig-file-scan-dir=/etc/php5.d
  make  &&  make install
  Step3:创建php的主配置文档目录和Xcache的主配置文档存放目录.
  mkdir  /etc/php   /etc/php5.d
  cd  /usr/local/src/php-5.4.14
  cp  php.ini-production   /etc/php/php.ini
  Step4:拷贝生成链接Nginx的接口php-fpm控制脚本和主配置文件.
  cp  sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
  chmod  a+x  /etc/init.d/php-fpm
  cd  /usr/local/php/etc/
  cp  php-fpm.conf.default  php-fpm.conf
  Step5:启动php-fpm服务,查看端口状态.
  service  php-fpm  start
  chkconfig  --add  php-fpm
DSC00012.png

  四:整合Nginx配置,测试Nginx和PHP,PHP和MySQL的链接情况.
  vim  /etc/nginx/nginx.conf
DSC00013.png

  cd  /usr/local/nginx/html/
  vim  index.php 添加php的测试代码.
DSC00014.png

  测试PHP链接Nginx是否正常.
DSC00015.png

  vim  index.php
DSC00016.png

  测试PHP链接MySQL数据库是否正常.
DSC00017.png

  五:Xcache的源码安装
  Step1:解压缩Xcache源码包,编译安装.
  tar  xcache-3.0.1.tar.gz  -C   /usr/local/src/
  cd  /usr/local/src/xcache-3.0.1
  使用php的phpize工具生成configure文件.
  /usr/local/php/bin/phpize
  编译安装
  ./configure  --enable-xcache
  --enable-xcache--with-php-config=/usr/local/php/bin/php-config
  make && make install
  Step2:整合php和Xcache(两种方式).
  ①cat  xcache.ini >> /usr/local/php/lib/php.ini
  vim   /usr/local/php/lib/php.ini
  编辑下列行:extension =
  /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
  ②cp  xcache.ini   /etc/php5.d(本次使用的是下面这种方式)
  vim  /etc/php5.d/xcache.ini
DSC00018.png

  service  nginx  restart
  service  php-fpm  restart
  Step3:测试php链接Xcache是否正常.
DSC00019.png

  Step4:为了实现Xcache的Web管理,可以做下列优化.
  cp  -r /usr/local/src/xcache-3.0.1/htdocs  /usr/local/nginx/html/
  chmod  a+rx  /usr/local/nginx/html/htdocs
  cd  /usr/local/nginx/html/htdocs
  chmod  a+x  index.php
  访问方式(物理目录)
  http://服务器地址/htdocs
  会出现访问被拒绝的情况,因为Xcache的管理默认是要身份认证的.
DSC00020.png

  Step5:编辑Xcache的主配置文件,添加管理账号.
  账号:admin  密码:admin(MD5加密后)
DSC00021.png

  vim  /etc/php5.d/xcache.ini
DSC00022.png

  service  nginx  rastart
  service  php-fpm  rastart
  Step5:测试Xcache的Web管理.
DSC00023.png

  好了,到现在我们的LNMP环境就算搭建完成了.
  不算很复杂,有兴趣的博友可以自己试下,有问题大家讨论一下!!!!!


运维网声明 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.iyunv.com/thread-634151-1-1.html 上篇帖子: nginx启动报错 下篇帖子: nginx本机80跳转8080
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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