linux服务--LNMP源码编译安装--RHEL6.5

  LNMP=Linux Nginx Mysql PHP

1. nginx简介

   Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 2011 年 6 月 1 日,nginx 1.0.4 发布。Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行。由俄罗斯的程序设计师 Igor Sysoev 所开发,供俄国大型的入口网站及搜索引擎 Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、新浪、网易、腾讯等

   Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。 Tengine 的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。(可以这样理解:淘宝拿到了 Nginx
源代码之后,进行了功能的填充,优化等等,然后提交给 Nginx 官方,但是由于 Nginx 官方相应慢或者不响应,加上语言沟通的不顺畅,于是淘宝公司就自己打包,在遵循 GPL 的原则上进行二次开发,于是就出了现在的 Tengine 这个版本)。
    Nginx 是过 php-fpm 这个服务来处理 php 文件。

   Nginx 和 php-fpm 是各自独立运行,所以在运行过程中,Nginx 和 php-fpm 都需要分别启动!

2. 安装nginx

   用到的软件版本如下,软件统一放到一个目录里面方便使用。

  libmcrypt-2.5.8
   mysql-5.6.26
   nginx-1.8.0
   pcre-8.37
   php-5.6.13

   服务器IP为192.168.1.61

  1) 解决依赖

   yum install gcc gcc-c++ autoconf automake -y

   yum install zlib zlib-devel openssl openssl-devel -y

   tar xvf pcre-8.37.tar.bz2 -C /usr/local/src/

  2)解压、编译、安装

     (1) 解压nginx压缩包

      tar xvf nginx-1.8.0.tar.gz -C /usr/local/src/ ; cd /usr/local/src/nginx-1.8.0

     (2)编译&&安装nginx

     ./configure--prefix=/usr/local/nginx--with-http_dav_module--withhttp_stub_status_module--with-http_addition_module--with-http_sub_module--with-http_flv_module--withhttp_mp4_module--with-pcre=/usr/local/src/pcre-      8.37

      make -j 4

      make install

  3)新建用于运行nginx的用户

      useradd -M -s /sbin/nologin nginx

  4)配置nginx支持php

    vim /usr/local/nginx/conf/nginx.conf

    #user nobody;
     user nginx nginx;#添加此行
     ……
     #location ~ \.php$ {
     # root html;
     # fastcgi_pass 127.0.0.1:9000;
     # fastcgi_index index.php;
     # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
     # include fastcgi_params;
     #} #找到上面这段内容,将这段内容复制,去掉#且修改为如下
     location~\.php${
     root html;
     fastcgi_pass127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME/usr/local/nginx/html$fastcgi_script_name;#将 scripts 修改为
     nginx 的 html,即 Nginx 页面目录,因为要处理的 php 文件也在这个目录下
     include fastcgi_params;

     }

  5)启动nginx

    为nginx命令新建软连接

    ln -s /usr/local/nginx/sbin/nignx /usr/bin/nginx

    启动nginx

    nginx

    检查nginx是否启动成功

    netstat -anupt | grep nginx

    浏览器中输入 http://192.168.1.61 此时显示nginx欢迎界面

  6)nginx维护命令

    检查配置文件语法是否有错误:

    nginx -t

    平滑重启nginx:

    nginx -s reload

    停止nginx:

    nginx -s stop

    nginx开机自动启动:

    echo "nginx &" >> /etc/rc.local

  7)nginx重新编译时注意:

    如果后续遇到nginx需要重新编译的情况,需要先查出先前编译nginx时的选项, 使用nginx -V即可查出,把需要添加的编译选项添加到后面即可。

3. 编译安装mysql

  1)编译、安装

  此处使用脚本mysql.sh进行自动编译,把mysql压缩包和mysql.sh放在同一级目录下,脚本内容如下:
  #!/bin/bash
  yum remove -y mysql mysql-server

  #删除上次使用此脚本解压的mysql文件
  rm -rf /usr/local/src/mysql-5.6.26
  echo 'This shell will Auto Install Mysql5.6'
  yum install -y cmake ncurses-devel
  tar -zxf mysql-5.6.26.tar.gz -C /usr/local/src && cd /usr/local/src/mysql-5.6.26

  #新建mysql的用户
  useradd -M -s /sbin/nologin mysql
  mkdir /usr/local/mysql
  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -  DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql

  #编译安装mysql
  make -j 4 && make install
  chown -R mysql:mysql /usr/local/mysql/
  /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  mv /etc/my.cnf /etc/my.cnf.bak
  cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
  sed -i '/^\[mysqld\]/adatadir = /usr/local/mysql/data' /etc/my.cnf
  sed -i '/^\[mysqld\]/abasedir = /usr/local/mysql' /etc/my.cnf

  #mysql做成服务
  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlsev
  chmod +x /etc/init.d/mysqlsev
  echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
  service mysqlsev restart
  echo
  echo "------------------install success-------------------"
  source /etc/profile
  echo "source /etc/profile" >> /etc/rc.local
  service mysqlsev restart
  echo "If you now running mysql and others commands,Please running: source /etc/profile" #安装完成之后执行source /etc/profile

  2)启动mysql客户端

   mysql

   检查是否可以启动。

4. 编译安装php

  1)解决依赖

  (1) yum install php-pear

  (2)yum install-y libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype freetypedevel

  (3)tar xvf libmcrypt-2.5.8.tar.bz2 -C /usr/local/src/ ; cd /usr/local/src/libmcrypt-2.5.8/

         ./configure --prefix=/usr/local/libmcrypt ; make -j 4 ; make install

  2)手动添加库

  vim /etc/ld.so.conf, 加入以下内容:

 /usr/local/libmcrypt/lib

 /usr/local/mysql/lib

  添加完后执行命令ldconfig使上述修改的库生效。

  echo "ldconfig" >> /etc/rc.local

  3)编译安装php

  tar xvf php-5.6.13.tar.bz2 -C /usr/local/src/ ; cd /usr/local/src/php-5.6.13

 ./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php--
with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir--withfreetype-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-gd--enable-gd-native-ttf--with-openssl--with-mhash--enable-pcntl--enable-sockets--with-xmlrpc--enable-zip--enable-soap--with-mcrypt=/usr

  make -j 4

  make install

   4)配置php文件和php-fpm文件

   php配置文件:

  cp /usr/local/src/php-5.6.13/php.ini-production /usr/local/php/php.ini

   php-fpm配置文件:

  cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf    #改名

   cp /usr/local/src/php-5.6.13/sapi/fpm/init.d.php-fpm.ini /etc/init.d/php-fpm

  chmod +x /etc/init.d/php-fpm

   chkconfig php-fpm on

    5)启动php-fpm

    service php-fpm start

    netstat -anupt | grep php-fpm

    6)测试LNMP的php支持

    ehco "<?php phpinfo() ?>" > /usr/local/nginx/html/index.php

    浏览器访问http://192.168.1.61/index.php看是否可以显示php相关的信息


















 


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值