LNMP环境搭建

环境准备:
RHEL6.5
安装依赖
yum install -y gcc* pcre-devel zlib-devel openssl*
pcre为nginx提供正则支持
zlib为nginx提供文件压缩支持

软件包准备:
nginx-1.0.8.tar.gz
mysql-5.1.55.tar.gz
php-5.3.6.tar.gz

第一步:安装nginx
添加nginx系统用户

 1 useradd -M -s /sbin/nologin nginx
 2 
 3 tar -zxf nginx-1.0.8.tar.gz
 4 
 5 cd nginx-1.0.8
 6 
 7 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_stub_status_module 
 8 --with-http_ssl_module --user=nginx --group=nginx 
 9 
10 make && make install
11 
12 ln -sv /usr/local/nginx/sbin/nginx /usr/local/bin

检测nginx配置文件

1 nginx -t -c /usr/local/nginx/conf/nginx.conf

启动nginx服务器访问测试

1 nginx

浏览器访问如图所示:

如果不能访问,修改防火墙规则或关闭防火墙试试

1 iptables -I INPUT -p tcp --dport 80 -j ACCEPT
1 查看nginx进程号
2 cat /usr/local/nginx/logs/nginx.pid
3 关闭nginx进程
4 killall -9 nginx

如图所示

编写nginx服务脚本

 1 #!/bin/bash
 2 # chkconfig: 2345 99 20
 3 # description:Nginx service script
 4 
 5 PLOC="/usr/local/nginx/sbin/nginx"
 6 PIDF="/usr/local/nginx/logs/nginx.pid"
 7 
 8 case "$1" in
 9         start)
10         $PLOC -t & > /dev/null
11         if [ $? -eq 0 ] ; then
12         $PLOC
13         echo "nginx service start success."
14         else
15         $PLOC -t
16         if  
17         ;;  
18 
19         stop)
20         kill -s QUIT $(cat $PIDF)
21         echo "nginx service stop success."
22         ;; 
23 
24         restart)
25         $0 stop
26         $0 start
27         ;;  
28 
29         reload)
30         $PLOC -t &> /dev/null
31         if [ $? -eq 0 ] ; then
32         kill -s HUP $(cat $PIDF)
33         echo "reload nginx config success."
34         else
35         $PLOC -t
36         fi
37         ;;
38 
39         *)
40         echo "Usage: $0{start|stop|restart|reload}"
41         exit 1
42 esac

保存退出

1 chmod +x /etc/init.d/nginx
2 
3 chkconfig --add nginx

使用脚本启动nginx

1 service nginx start

效果如图所示

第二步MySQL的安装

 1 添加mysql系统用户
 2 useradd -M -s /sbin/nologin mysql
 3 
 4 tar -zxf mysql-5.1.55.tar.gz
 5 
 6 cd mysql-5.1.55
 7 
 8 ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
 9 
10 make && make install
11 
12 
13 cp ./support-files/my-medium.cnf /etc/my.cnf
14 
15 cp ./support-files/mysql.server /etc/init.d/mysqld
16 
17 chmod a+x /etc/init.d/mysqld

将mysql服务添加到系统服务列表

1 chkconfig --add mysqld

初始化mysql

1 /usr/local/mysql/bin/mysql_install_db --user=mysql
2 
3 chown -R root.mysql /usr/local/mysql/
4 
5 chown -R mysql /usr/local/mysql/var

将mysql库文件添加到系统库文件路径,方便其他程序调用

1 ln -sv /usr/local/mysql/bin/* /usr/local/bin/
2 
3 ln -sv /usr/local/mysql/lib/mysql/* /usr/lib/
4 
5 ln -sv /usr/local/mysql/include/mysql/* /usr/include/

启动mysql服务,为root用户修改密码

1 service mysqld start
2 
3 /usr/local/mysql/bin/mysqladmin -uroot password 123456
4 
5 /usr/local/mysql/bin/mysql -uroot -p

连接mysql服务器,如图所示

第三步安装php

1 tar -zxf php-5.3.6.tar.gz
2 
3 cd php-5.3.6
4 
5 ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql 
6 --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm

这里报错
configure: error: libpng.(a|so) not found.
但是使用rpm -qi | grep libpng显示已安装

使用locate libpng.so查找libpng.so相关位置
我的是64位的系统,libpng.so相关的文件都在/usr/lib64/这个目录下,所以需要拷贝到/usr/lib/目录下
cp /usr/lib64/libpng* /usr/lib/
再执行./configure.

1 make && make install

给php添加配置文件php.ini

1 cp ./php.ini-development /usr/local/php/php.ini

将php执行文件添加到系统路径中

1 ln -sv /usr/local/php/bin/* /usr/local/bin/
2 ln -sv /usr/local/php/sbin/* /usr/local/sbin/

添加php-fpm配置文件

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

编辑php-fpm.conf文件

1 vim /usr/local/php/etc/php-fpm.conf
2 显示行号,去掉25,157,162,167前的;
3 将122,123行改为如下所示
4 user=nginx
5 group=nginx

启动php-fpm进程

1 php-fpm
2 netstat -anpt | grep php-fpm

如下图所示

修改上面编写的nginx服务脚本,让nginx和php-fpm进程能够同时启动和关闭

1 vim /etc/init.d/nginx

如下图所示,添加4行代码即可

第四步LNMP环境测试

1 mkdir /var/www/

编辑nginx配置文件,让nginx能够找到php-fpm进程,添加一个虚拟主机

 1 vim /usr/local/nginx/conf/nginx.conf
 2 
 3 user nginx;
 4 worker_processes  1;  
 5 
 6 events {
 7     worker_connections  1024;
 8 }
 9 
10 
11 http {
12     include       mime.types;
13     default_type  application/octet-stream;
14 
15     sendfile        on; 
16 
17     keepalive_timeout  65; 
18 
19     server {
20         listen       80; 
21         server_name  www.nginxtest.com;
22         
23         location ~ \.php$ {
24             root           /var/www/test;
25             fastcgi_pass   127.0.0.1:9000;
26             fastcgi_index  index.php;
27             fastcgi_param  SCRIPT_FILENAME  /var/www/test/$fastcgi_script_name;
28             include        fastcgi_params;
29         }   
30     }   
31 
32 }

保存退出

创建目录

1 mkdir /var/www/test

编辑一个测试脚本

1 vim /var/www/test/index.php

添加内容如下:

1 <?php
2 phpinfo();

如下图所示

 

测试mysql和php能否正常工作

1 vim /var/www/test/mysql.php

添加内容如下

1 <?php
2 
3 $link = mysql_connect('localhost','root','123456');
4 
5 var_dump($link);

如下图所示

posted on 2017-12-03 00:26  iaknehc  阅读(202)  评论(0编辑  收藏  举报

导航