您的位置:首页 > 运维架构 > Linux

在centos 上源码安装Lnmp

2015-01-10 21:33 274 查看
(1) 我们知道安装Lnmp与安装Lamp 还是有点细微的区别,本文详细介绍如何在centos6.5上
源码安装Lnmp ,以下是具体的版本,和Lnmp配置文件
安装nginxnginx 1.4.7 
启动 /usr/local/nginx/sbin/nginx 
        关闭pkill -9 nignx
        配置 /usr/local/nginx/conf/nginx.conf
mysql 5.1.73
启动 service mysqld start 
        配置 /etc/my.cnf 
php-fpm  5.4.29 
启动 /usr/local/php/sbin/php-fpm
配置 /usr/local/php/php.ini  

blog 地址: http://blog.csdn.net/stuartjing/article/details/8124491
  
(一)安装nginx 
(1) 安装依赖包
nginx会有几个依赖包,我们首先安装依赖,不要安装过程中会报错:
yum  -y install zlib-devel pcre-devel openssl-devel
(2)安装nginx
 http://mirrors.sohu.com/nginx/nginx-1.0.13.tar.gz
tar -zxvf nginx-1.0.13.tar.gz
cd nginx-1.0.13
 ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl --with-pcre --with-http_stub_status_module        
 解释
 ./configure --prefix=/usr/local/nginx\   # 指定安装目录为/usr/local/nginx
--with-openssl=/usr/include/openssl\  # 启用ssl
--with-pcre\                          # 启用正规表达式
--with-http_stub_status_module        # 安装可以查看nginx状态的程序
其中./configure指执行当前目录下的configure文件
预编译完成后我们就可以进行编译和安装:
make           #编译
make install   #安装
安装完成后我们可以到相应的目录查看安装的文件:
ls /usr/local/nginx/
conf  html  logs  sbin
好了,下面我们启动nginx:
/usr/local/nginx/sbin/nginx
通过查看端口看nginx是否启动成功,nginx占用TCP的80端口,执行下面命令:
 netstat -antlp | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5946/nginx
 
 (二) Mysql 安装 
wget  http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72.tar.gz  
(1)安装之前我们先做一些准备工作,安装依赖:
yum -y install ncurses-devel
创建MySQL用户:
useradd -M -s /sbin/nologin mysql  # -M不创建home目录,-s指定shell为不登录
然后进行安装:
tar -zxvf mysql-5.1.72.tar.gz 
cd mysql-5.0.95
./configure --prefix=/usr/local/mysql \
--without-debug \                                 # 取消调试模式提高性能
--with-extra-charsets=utf8,gbk \                  # 仅仅指定需要的默认字符集提高性能
--enable-assembler \                              # 使用汇编模式提高性能
--with-mysqld-ldflags=-all-static \               # 以静态方式编译提高性能
--with-client-ldflags=-all-static \
--with-unix-socket-path=/tmp/mysql.sock \         # 使用unix socket提高性能
--with-ssl
make
make install
(2)安装完成后复制配置文件和启动脚本:
cp support-files/my-medium.cnf /etc/my.cnf         # 复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld   # 复制启动脚本
chmod +x /etc/init.d/mysqld         # 给启动脚本执行权限
为了以后方便我们为所有的二进制可执行文件和动态链接库文件做一个软连接:
ln -s /usr/local/mysql/bin/* /usr/local/bin/              # 为可执行的二进制文件做软连接
ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/  # 为动态链接库做一个软连接
然后我们初始化数据库:
mysql_install_db --user=mysql  # 用MySQL用户安装数据库
为了MySQL能正常使用我们需要更改一下MySQL安装目录和MySQL的数据库目录的属主和属组:
chown -R root.mysql /usr/local/mysql/           # 更改安装目录属主为root,属组为mysql
chown -R mysql.mysql /usr/local/mysql/var/      # 更改数据库目录属主和属组都为mysql
这里的-R参数用来应用到所有子目录和文件
配置完毕后我们启动mysql:
service mysqld start
现在我们查看MySQL是否启动成功,MySQL占用TCP的3306端口,我们查看端口是否被占用:
netstat -antlp | grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      32143/mysqld
然后我们通过mysql命令来连接mysql:
mysq -uroot -p

(三) 安装php 

(1)安装然后下载php:
wget http://mirrors.sohu.com/php/php-5.4.29.tar.bz2  
安装依赖:
yum –y install libxml2-devel curl-devel libpng-devel openldap-devel
我们使用nginx调用php的时候使用fpm的方式,在php 5.4中加入了对php-fpm的支持,所以就不需要打补丁了.安装PHP:
tar -jxvf php-5.4.0.tar.bz2
cd php-5.4.29
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml
--disable-rpath --enable-safe-mode --enable-bcmath 
--enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm 
--enable-fastcgi --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets
--with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap
make
make install
(2)配置文件
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/
配置php-fpm,编辑php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
 
(3)启动php-fpm
/usr/local/php/sbin/php-fpm

(四) 配置nginx 连接php 
vi /usr/local/nginx/conf/nginx.conf
修改nginx配置文件支持php:
    server {
        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 nignx
/usr/local/nginx/sbin/nginx
然后在/usr/local/nginx/html下创建index.php,
vi /usr/local/nginx/html/index.php
如果 
Configuration File (php.ini) Path
/usr/local/php/lib
Loaded Configuration File none 把cp /usr/local/php/php1.ini  /usr/local/php/lib/php.ini 

以上安装步骤作者亲测~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lnmp php nginx