码迷,mamicode.com
首页 > 其他好文 > 详细

LNMP环境详解

时间:2015-03-09 19:14:59      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:linux运维   lnmp环境   

作为一名合格的linux运维工程师来说,搭建Lnmp环境再熟练不过了!!下面就来开始详解一下整个过程吧。

由于网上博友写得都不是很详细,而且有的都是配置错误了,为了造福社会!博主决定亲自写个详细的!

编译安装nginx

  1. 安装nginx的依赖包

yum install pcre-devel zlib-devel

2,创建运行用户和组

useradd -M -s  /sbin/nologin  nginx

3, 开始编译安装nginx

tar zxf nginx-1.0.8.tar.gz -C /usr/src


解压完后进入解压存放的目录

cd /usr/src/nginx-1.0.8


开始配置

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_module

配置完后,编译安装

make && make install


4.安装完后,为了nginx服务器的运行方便,可以为主程序nginx创建链接文件,这样管理的时候直接执行“nginx”命令就可以调用nginx的主程序啦~

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


5.检查nginx配置文件

nginx -t

如果上述成功的话就可以开始启动nginx啦~


6启动和停止nginx

启动 nginx

想要停止的话 pkill -9 nginx


为了再次确认是否真的启动nginx,

netstat -anpt |grep nginx

查看80端口是否处于监听状态。


在网页上测试nginx运行是否正常。http://127.0.0.1,显示以下说明运行正常。

技术分享


以上就是nginx的整个编译安装过程了,下面开始详解mysql



编译安装mysql

  1. 解压缩安装包

    tar zxf mysql-5.1.55.tar.gz -C /usr/src


切换到解包的目录

cd /usr/src/mysql-5.1.55


开始配置

./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312


配置完成后,编译安装

make && make install


2.建立配置文件

[root@www mysql-5.1.55]# cp support-files/my-medium.conf /etc/my.cnf


3.添加到系统服务,并设置执行权限

[root@www mysql-5.1.55]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod a+x /etc/rc.d/init.d/mysqld

chkconfig --add mysqld


4.优化执行路径,程序库路径

ln -s /usr/local/mysql/bin/* /usr/local/bin/

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

ln -s /usr/local/mysql/include/mysql/* /usr/include/


5.初始化数据库

创建运行用户

useradd -M -u 27 -s /sbin/nologin mysql


cd /usr/local/mysql/bin/

./mysql_install_db --user=mysql


修改文件的归属

chown -R root:mysql /usr/local/mysql/

chown -R mysql /usr/local/mysql/var/


这样mysql数据库就已经配置完毕了,现在可以启动服务啦

service mysqld start


为root用户设置mysql数据库登录密码

mysqladmin -u root password ‘pwd123‘


到此mysql编译完成



编译安装php

在安装php前,一定不要忘了安装扩展工具库!!!!

tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/

cd /usr/src/libmcrypt-2.5.8/

./configure

make && make install

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


tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/

cd /usr/src/mhash-0.9.9.9/

./configure

make && make install

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


tar zxf mcrypt-2.6.8.tar.gz-C /usr/src/

cd /usr/src/mcrypt-2.6.8/

./configure

make && make install


工具库安装完后,就可以开始安装php了


tar zxf php-5.3.6.tar.gz -C /usr/src/

cd /usr/src/php-5.3.6

配置

./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm


make && make install


安装完后,就开始设置LNMP组件环境了,这块的步骤很重要!!


  1. php.ini配置调整




首先说明一下,安装好php软件包时是没有php.ini配置文件的,这得自己手工添加!

ls /usr/src/php-5.3.6/php.ini-*

执行以上命令会出现一下内容:

/usr/src/php-5.3.6/php.ini-development      #开发版样例文件,用于学习,测试

/usr/src/php-5.3.6/php.ini-production       #生产版样例文件,用于实际运营


选择其中一个样例文件,进行复制

cp /usr/src/php-5.3.6/php.ini-development /usr/local/php/php.ini


优化执行路径

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

ln -s /usr/local/php/sbin/* /usr/local/sbin/


接下来要安装ZendGuardLoader优化模板(详情自己查阅其他资料)


tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3-x

cp ZendGuardLoader.so /usr/local/php/lib/php/

然后修改php.ini配置文件,添加加载及启用ZendGoardLoader.so模块的配置语句

vim /usr/local/php/php.ini

添加以下内容

zend_ extension=/usr/local/php/lib/php/ZendGuardLoader.so

zend_loader.enable=1


2.开始配置nginx支持php环境

cd /usr/local/php/etc/

cp php.fpm.conf.default php.fpm.conf

vim php-fpm.conf

注意:看过很多网友写的这块内容,很多的修改的都不对!!


修改如下内容

pid = run-fpm.pid          //确认pid文件位置

user = nginx              // 运行用户

group = nginx             //运行组

pm.start_servers = 20      

pm.min.spare_servers = 5

pm.max_spare_servers = 35


**注意每句语句前面的;号!!!要记得删除!!很多人都是忘了删除前面的;号,以至于php-fpm启动错误!!!


确认修改的跟以上内容一样之后,就可以启动php-fpm了

/usr/local/sbin/php-fpm

如果你的启动出现了什么提示的话,解决方法:

killall php-fpm 结束php-fpm

然后再次启动/usr/local/sbin/php-fpm

应该就没有提示了!

这时候你可以查看一下是否处于监听状态

netstat -anpt |grep php-fpm

如果出现9000端口的话 说明监听成功


接下来开始修改nginx的配置文件


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


找到被注释掉的location ~ \.php$ {

依次开始删除前面的注释#就行了,

 location ~ \.php$ {
            fastcgi_pass        unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index       index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            include fastcgi_params;
            include fastcgi.conf;
        }


以上是我修改之后的内容,不过还没结束!不仅仅是要去掉注释,看到

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;   这一行了吗,这一行是修改后的内容
原来默认配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
记得修改为fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

*千万不能忘!

至此,lnmp环境就已经搭建完了,下面就开始测试吧

在网站根目录下写个test.php脚本
<?php
phpinfo();
?>

接下来就开始在网页上测试 http://www.bneet.com/test.php,显示以下内容表示php网页解析成功!

 技术分享

接下来开始测试mysql和php连接,在网站根目录下写个test1.php脚本
<?php
$link=mysql_connect(‘localhost‘,‘root‘,‘pwd123‘);
if($link) echo "<h1>数据库连接成功!!!</h1>";
mysql_close();
?>

然后访问页面如http://www.benet.com/test1.php,如果看到连接成功的提示信息,则表示php解析数据库正常,
这样以来LNMP环境就搭建完成了。

本文出自 “Truth” 博客,请务必保留此出处http://truthiii.blog.51cto.com/9973326/1618760

LNMP环境详解

标签:linux运维   lnmp环境   

原文地址:http://truthiii.blog.51cto.com/9973326/1618760

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!