LNMP环境详解
作为一名合格的linux运维工程师来说,搭建Lnmp环境再熟练不过了!!下面就来开始详解一下整个过程吧。由于网上博友写得都不是很详细,而且有的都是配置错误了,为了造福社会!博主决定亲自写个详细的!
编译安装nginx
[*]安装nginx的依赖包
yum install pcre-devel zlib-devel
2,创建运行用户和组
useradd -M -s/sbin/nologinnginx
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
[*]解压缩安装包
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.建立配置文件# cp support-files/my-medium.conf /etc/my.cnf
3.添加到系统服务,并设置执行权限# cp support-files/mysql.server /etc/rc.d/init.d/mysqldchmod a+x /etc/rc.d/init.d/mysqldchkconfig --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/./configuremake && make installln -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/./configuremake && make installln -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/./configuremake && 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.gzcd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3-xcp 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.sozend_loader.enable=1
2.开始配置nginx支持php环境cd /usr/local/php/etc/cp php.fpm.conf.default php.fpm.confvim php-fpm.conf注意:看过很多网友写的这块内容,很多的修改的都不对!!!
修改如下内容pid = run-fpm.pid //确认pid文件位置user = nginx // 运行用户group = nginx //运行组pm.start_servers = 20 pm.min.spare_servers = 5pm.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网页解析成功!
接下来开始测试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]