设为首页 收藏本站
查看: 1435|回复: 0

LNMP环境详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-10 08:33:04 | 显示全部楼层 |阅读模式
作为一名合格的linux运维工程师来说,搭建Lnmp环境再熟练不过了!!下面就来开始详解一下整个过程吧。

由于网上博友写得都不是很详细,而且有的都是配置错误了,为了造福社会!博主决定亲自写个详细的!
编译安装nginx
  • 安装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,显示以下说明运行正常。
QQ截图20150310083247.png

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


编译安装mysql
  • 解压缩安装包
    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.建立配置文件
[iyunv@www mysql-5.1.55]# cp support-files/my-medium.conf /etc/my.cnf

3.添加到系统服务,并设置执行权限
[iyunv@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-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbstring --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

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

  • 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脚本<?phpphpinfo();?>接下来就开始在网页上测试 http://www.bneet.com/test.php,显示以下内容表示php网页解析成功! QQ截图20150310083239.png
接下来开始测试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环境就搭建完成了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-45098-1-1.html 上篇帖子: 用wamp配置的环境,想用CMD连接mysql怎么连 下篇帖子: centos6.5 nginx+php+mysql之php5.4安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表