qazxsw1 发表于 2018-11-12 12:29:09

Linux+Nginx+MySQL+PHP-Ty

  小编:这几年随着电子商务的蓬勃发展,也带动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 zxvfmysql-5.5.15-linux2.6-i686.tar.gz-C/usr/local/
  cd/usr/local/
  ln-smysql-5.5.15-linux2.6-i686mysql
  cdmysql
  vimINSTALL-BINARY(MySQL安装配置的说明文件,下面按此步骤进行就OK了)

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

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

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

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

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

  . /etc/profile

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

  ldconfig
  ln -s /usr/local/libevent/include/ /usr/include/libevent
  Step3:创建Nginx服务的nologin系统账号
  groupadd-r nginx
  useradd -r-gnginx-Mnginx
  Step4:解压缩源码.
  tarzxvfnginx-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的管理.



  cpnginx/etc/init.d/
  Step6:启动服务,查询状态.

  三:PHP的源码安装
  Step1:解压缩源码包.
  tarjxvfphp-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
  cpphp.ini-production   /etc/php/php.ini
  Step4:拷贝生成链接Nginx的接口php-fpm控制脚本和主配置文件.
  cpsapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
  chmoda+x/etc/init.d/php-fpm
  cd/usr/local/php/etc/
  cpphp-fpm.conf.defaultphp-fpm.conf
  Step5:启动php-fpm服务,查看端口状态.
  servicephp-fpmstart
  chkconfig--addphp-fpm

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

  cd/usr/local/nginx/html/
  vimindex.php 添加php的测试代码.

  测试PHP链接Nginx是否正常.

  vimindex.php

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

  五:Xcache的源码安装
  Step1:解压缩Xcache源码包,编译安装.
  tarxcache-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(两种方式).
  ①catxcache.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
  ②cpxcache.ini   /etc/php5.d(本次使用的是下面这种方式)
  vim/etc/php5.d/xcache.ini

  servicenginxrestart
  servicephp-fpmrestart
  Step3:测试php链接Xcache是否正常.

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

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

  vim/etc/php5.d/xcache.ini

  servicenginxrastart
  servicephp-fpmrastart
  Step5:测试Xcache的Web管理.

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

页: [1]
查看完整版本: Linux+Nginx+MySQL+PHP-Ty