搭建LNMP环境

一,Nginx安装部署

安装Nginx前也有一些库需要下载,分别是pcrezlib以及openssl。这里要说明的是下载这3个库的压缩包后,对其进行解压缩即可,无需安装。

yum -y install gcc automake autoconf libtool make gcc-c++ glibc


1,下载并解压pcre

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz 

tar -zxvf pcre-8.38.tar.gz

cd  pcre-8.38

./configure

make 

make install


2,下载并解压zlib

wget http://zlib.net/zlib-1.2.8.tar.gz

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure

make 

make install


3,下载并解压openssl

wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

tar -zxvf openssl-1.0.1g.tar.gz

cd openssl-1.0.1g

./configure

make 

make install


问题1WARNING! If you wish to build 64-bit library, then you have to invoke './Configure darwin64-x86_64-cc' *manually*. You have about 5 seconds to press Ctrl-C to abort.

解决方法:在 configure之前export KERNEL_BITS=64,如果还是不起作用,就要手到修改了:

进入nginx目录,

$ ./configure ./configure –prefix=/usr/locale/nginx –with-openssl=../openssl-1.0.1i –with-pcre=../pcre-8.33

手动修改 objs/Makefile:

./config –prefix=/Users/xxx/Downloads/openssl-1.0.1e/.openssl no-shared no-threads

改成

./Configure darwin64-x86_64-cc –prefix=/Users/xxx/Downloads/openssl-1.0.1e/.openssl no-shared no-threads

make


4,必要的库已经下载好,现在就正式开始下载Nginx并安装。首先下载Nginx并解压缩:


wget http://nginx.org/download/nginx-1.8.0.tar.gz    

tar -zxvf nginx-1.8.0.tar.gz

cd  nginx-1.8.0

预编译并指定安装路径:

--prefix=path 定义一个目录,存放服务器上的文件,也就是nginx的安装目录。默认使用 /usr/local/nginx;详见附表(安装nginx配置说明列表))

./configure --prefix=/lnmp/nginx \    #指定nginx安装目录为/lnmp/nginx

--with-http_stub_status_module  \   #安装可以查看nginx状态的程序 

--with-http_ssl_module \ #使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。

--with-pcre=/packages/pcre-8.38  \   #设置PCRE库的源码路径

--with-zlib=/packages/zlib-1.2.8 \     #设置zlib库的源码路径

--with-openssl=/packages/openssl-1.0.1g     #设置openssl的源码路径


make && make install

nginx的命令做一个软链接:

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

启动:nginx

关闭:nginx -s quit 


二,MySQL安装

yum -y install cmake

输入命令添加名为「mysql」的用户和组,为后续步骤作准备

groupadd mysql

useradd -r -g mysql mysql

下载mysql:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz

tar -zxvf mysql-5.6.22.tar.gz

cd mysql-5.6.22

cmake -DCMAKE_INSTALL_PREFIX=/lnmp/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/lnmp/mysql/run/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_SSL=yes


make && make install


cp support-files/my-default.cnf /etc/my.cnf     # 复制配置文件

cp support-files/mysql.server /etc/init.d/mysqld   # 复制启动脚本 

chmod +x /etc/init.d/mysqld         # 给启动脚本执行权限

cd /lnmp/mysql

chown -R mysql .       #改变当前目录下的所有者为mysql用户

chgrp -R mysql .       #改变当前目录下的mysql用户的文件为mysql


然后我们初始化数据库


./scripts/mysql_install_db --user=mysql —basedir=/lnmp/mysql

这个选项「--basedir」指定为你的MySQL安装目录。然后将目录的所有文件的所属用户改为「root」,接着将目录「data」的所属用户改为「mysql」(这一步很重要,否则数据库可能无法对这个目录进行操作):


chmod +x /etc/init.d/mysqld         # 给启动脚本执行权限


cd /lnmp/mysql


chown -R mysql .       #改变当前目录下的所有者为mysql用户


chgrp -R mysql .       #改变当前目录下的mysql用户的文件为mysql


然后我们初始化数据库


./scripts/mysql_install_db --user=mysql —basedir=/lnmp/mysql

这个选项「--basedir」指定为你的MySQL安装目录。然后将目录的所有文件的所属用户改为「root」,接着将目录「data」的所属用户改为「mysql」(这一步很重要,否则数据库可能无法对这个目录进行操作):

chown -R root .

chown -R mysql data

这里的-R参数用来应用到所有子目录和文件 

为了以后方便我们为所有的二进制可执行文件和动态链接库文件做一个软连接


ln -s /lnmp/mysql/bin/* /usr/local/bin/              # 为可执行的二进制文件做软连接 

ln -s /lnmp/mysql/lib* /usr/lib/  # 为动态链接库做一个软连接 


配置完毕后我们启动mysql: 

service mysqld start (或者/etc/init.d/mysqld start)


现在我们查看MySQL是否启动成功,MySQL占用TCP3306端口,我们查看端口是否被占用


netstat -antlp ¦ grep 3306 

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      32143/mysqld 

然后我们通过mysql命令来连接mysql: 

mysql -u root -p -b


三,PHP安装 

首先来安装几个源码包依赖

libmcrypt mhash mcrypt 

1,wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8 

./configure 

make

make install


2, wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure 

make

make install


# 这两个包安装完成后要把动态链接库做一个软连接到/usr/lib,以为接下来的mcrypt依赖于这两个包 

ln -s /usr/local/lib/libmcrypt* /usr/lib 

ln -s /usr/local/lib/libmhash.* /usr/lib

ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config


3, wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

tar -zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8

./configure 

这里有可能出现:configure: error: *** libmcrypt was not found

解决方法是:export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH

make 

make install 


4,下载php

wget http://mirrors.sohu.com/php/php-5.6.2.tar.gz

在安装之前,我们需要安装php5.6编译时所依赖的软件包。

yum -y install gcc gcc-c++ libxml2 libxml2-devel

为了开启PHP的一些功能(例如对png格式的支持等),首先需要安装一些库,CentOS命令如下:

yum -y install libmcrypt-devel mhash-devel libxslt-devel libiconv libiconv-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel


tar zxvf php-5.6.2.tar.gz

cd php-5.6.2

./configure --prefix=/usr/local/Cellar/php --enable-fpm --with-config-file-path=/usr/local/Cellar/php/etc --with-mysql=/usr/local/Cellar/mysql --with-mysqli=/usr/local/Cellar/mysql/bin/mysql_config --with-mcrypt --enable-mbstring --enable-pdo --enable-inline-optimization  --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex -with-mhash --disable-zip --with-pcre-regex  --with-openssl --with-iconv=/usr/local/libiconv --with-gd --with-freetype-dir=/usr/local/Cellar/freetype --with-jpeg-dir=/usr/local/Cellar/libjpeg --with-png-dir=/usr/local/Cellar/libpng/1.6.21  --enable-opcache=no

--with-openssl :安装OpenSSL库其它的「--with-xxx」即需要xxx库,「--enable-yyy」即开启yyy的支持,「--disable-zzz」即禁用zzz。)


make 

make install


5,配置:

 cp php.ini-production /usr/local/php/php.ini # 如果是开发就复制php.ini-development

 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

 ln -s /usr/local/php/bin/php /usr/bin/


修改/usr/local/php/etc/php-fpm.conf文件

# 将;pid = run/php-fpm.pid前的;去掉并修改为

pid = /usr/local/php/var/run/php-fpm.pid

启动php-fpm

/lnmp/php/sbin/php-fpm

修改vi /usr/local/nginx/conf/nginx.conf,支持php


     listen       80;

      server_name  localhost;


      #charset koi8-r;


      #access_log  logs/host.access.log  main;


          location / {

                  root   html;

              index  index.php index.html index.htm;         #添加index.php的首页文件

          }


          # 添加下面内容

          location ~ \.php$ {

                fastcgi_pass        127.0.0.1:9000;

              fastcgi_index       index.php;

              fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

              include fastcgi_params;

              include fastcgi.conf;

          }

      }

修改完毕后保存退出重启nginx:

pkill -9 nginx

/lnmp/nginx/sbin/nginx

然后在/usr/local/nginx/html下创建index.php,

vim /lnmp/nginx/html/index.php,保存,测试。

至此,LNMP环境搭建完毕。


四,PHP扩展安装

redis扩展安装:

wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

tar zxvf phpredis-2.2.4.tar.gz #解压

cd phpredis-2.2.4 #进入安装目录

/lnmp/php/bin/phpize #phpize生成configure配置文件

./configure --with-php-config=/lnmp/php/bin/php-config  #配置

make  #编译

make install  #安装

安装完成之后,出现下面的安装路径:

Installing shared extensions:     /lnmp/php/lib/php/extensions/no-debug-non-zts-20131226

配置php支持:

vi /usr/local/php/etc/php.ini  #编辑配置文件,在最后一行添加以下内容

添加

extension="redis.so"

:wq! #保存退出


安装完成后,可通过phpinfo(),查看是否安装成功。
其他php扩展安装都是一样的步骤。








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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值