第4章:搭建LNMP环境

一、Nginx安装

###########安装###################
yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel gcc gcc-c++
useradd -M -s /sbin/nologin nginx
tar zxf nginx-1.8.0.tar.gz
cd nginx-1.8.0

./configure \
--prefix=/application/nginx-1.8.0 \
--user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

ln -s /application/nginx-1.8.0 /application/nginx

/application/nginx/sbin/nginx

在浏览器测试访问

###########修改配置文件##########
mkdir /application/nginx/conf/vhost
mkdir -p /data/www/heboan
mkdir -p /data/logs/nginx
cat /application/nginx/conf/nginx.conf
-------------------------------------
worker_processes  1;
error_log  /data/logs/nginx/error.log;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

   include vhost/*.conf;

}
------------------------------------
/application/nginx/conf/vhost/www.heboan.com.conf 
server {
     listen       80;
     server_name  www.heboan.com;
     
     location / {
        root   /data/www/heboan;
        index  index.html index.htm;
     }
}

########重载nginx配置测试############
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
浏览器访问http://www.heboan.com

二、安装MySQL

yum install -y  libaio-devel

1、把包解压到/usr/local下,并且目录名称为mysql(为了保留版本和平台信息,我们可以使用软链接的方式)

tar zxf mysql-5.5.43-linux2.6-i686.tar.gz  -C  /usr/local/
cd /usr/local
ln -s mysql-5.5.43-linux2.6-i686 mysql

2、创建mysql组和用户

groupadd -r -g 306 mysql
useradd -g 306 -u 306 mysql

3、修改属主属组为mysql

chown mysql.mysql /usr/local/mysql/*

4、创建mysql数据存放目录(默认是存放在mysql安装目录的data目录里面,如使用默认的则不用创建)

在生产环境中,我们一般独立于放到其他目录,并且是在逻辑卷上,便于随着数据的增大,方便增加磁盘空间

mkdir -p /mysql/data
chown -R mysql.mysql /mysql/data/

5、初始化mysql

cd /usr/local/mysql
scripts/mysql_install_db --datadir=/mysql/data/ --user=mysql

6、完成初始化之后,把mysql的安装目录改回root

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

7、为mysql提供主配置文件(根据实际情况选择相应的配置文件)

cd /usr/local/mysql/support-files/
cp my-medium.cnf /etc/my.cnf 

8、修改my.cnf指定mysql数据文件的存放位置

# vim /etc/my.cnf   添加如下一行
[mysqld]
datadir = /mysql/data

9、将mysql添加为系统服务,可使用service启动,并可使用chkconfig加载服务列表

cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld 
chkconfig --add mysqld
chkconfig mysqld on

10、修改PATH环境变量,让系统可以直接使用mysql的相关命令

# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin

11、启动mysql

# service mysqld start
Starting MySQL.... SUCCESS!
# netstat -lnt |grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN 

12、默认没有密码,我们设置一个管理员密码,并登录

mysqladmin -uroot password '123456'
mysql -uroot -p'123456'

测试是否可以连接数据库

# cat /data/www/heboan/mysql.php 
<?php
$link=mysql_connect('localhost','root','463951510');
if(!$link)  echo "failed!";
else echo "ok!";
mysql_close();
?>

浏览器访问www.heboan.com/mysql.php

三、安装PHP

yum -y install  libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \
libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses \
ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel  krb5-devel libidn libidn-devel \
openssl openssl-devel pcre pcre-devel libtermcap  libtermcap-devel  gcc gcc-c++

1、让编译的php支持mcrypt、mhash扩展 

tar zxf libmcrypt-2.5.8.tar.gz 
cd libmcrypt-2.5.8
./configure
make install

tar zxf mhash-0.9.9.tar.gz 
 cd mhash-0.9.9
./configure 
make && make install

2、编译安装php-5.4.25

tar zxf php-5.4.25.tar.gz 
cd php-5.4.25
./configure \
--prefix=/usr/local/php5.4.25 \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-bz2 \
--with-config-file-scan-dir=/etc/php.d \
--with-config-file-path=/etc \
--with-mcrypt \
--enable-fpm
make && make install

3、为php提供配置文件

cp php.ini-production /etc/php.ini

4、配置php-fpm

为php-fpm提供Sysv init脚本,并将其添加至服务列表:
cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

5、为php-fpm提供配置文件

cp /usr/local/php5.4.25/etc/php-fpm.conf.default  /usr/local/php5.4.25/etc/php-fpm.conf

6、启动php-fpm

# service php-fpm start
Starting php-fpm  done
# netstat -lnt 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 192.168.3.102:9000          0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                       LISTEN      
tcp        0      0 ::1:25                      :::*                       LISTEN 

四、调整nginx虚拟主机配置文件

# cat /application/nginx/conf/vhost/www.heboan.com.conf 
server {
     listen       80;
     server_name  www.heboan.com;
     
     location / {
        root   /data/www/heboan;
        index  index.html index.htm;
     }

     location ~ \.php$ {
        root           /data/www/heboan;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
     }
    
    access_log  /data/logs/nginx/www.heboan.com.log;
}
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload

测试php

# cat /data/www/heboan/phpinfo.php 
<?php
phpinfo();
?>

浏览器访问www.heboan.com/phpinfo.php

posted @ 2016-04-16 10:59  sellsa  阅读(191)  评论(0)    收藏  举报