LNMP分离式环境部署

一、简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
——Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、
        centos、ubuntu、fedora、gentoo等。
——Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
——Mysql是一个小型关系型数据库管理系统。
——PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
二、项目环境
Linux 6.5
Nginx-1.8.1.tar.gz     
Mysql-5.6.16.tar.gz
php-5.6.20.tar.gz
nginx源码包下载地址http://nginx.org/en/download.html
三、项目架构



四、安装过程
1、nginx服务器安装配置
(1)首先安装开发环境,及所需依赖
[root@nginx ~]# yum -y groupinstall  "Development libraries" "Development tools" "X Software Development" 
[root@nginx ~]# yum -y install gcc  pcre pcre-devel
(2)添加nginx使用用户
[root@nginx ~]#useradd -r www
(3)编译安装nginx
[root@nginx ~]# tar -zxvf nginx-1.8.1.tar.gz
[root@nginx ~]# cd nginx-1.8.1
[root@nginx nginx-1.8.1]# ./configure --prefix=/usr/local/nginx  \
> --user=www  --group=www  \
> --with-http_ssl_module  \  ## 启用ngx_http_ssl_module支持(需已安装openssl)
> --with-http_stub_status_module \  ##启用nginx的NginxStatus功能
> --with-http_gzip_static_module  \  ##启用ngx_http_gzip_static_module支持
> --with-pcre
[root@nginx nginx-1.8.1]# make && make install
(4)编辑nginx.conf,在server段中以下内容去掉注释
   location ~ \.php$ {
            fastcgi_pass   192.168.32.130:9000;    ##PHP服务器,及监听端口
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
            include        fastcgi_params;
        }
(5)启动nginx
[root@nginx ~]# /usr/local/nginx/sbin/nginx 

(6)测试访问,访问成功如下图:



2、PHP服务器的安装
(1)PHP所需依赖,及添加用户
[root@php ~]# yum -y install gcc openssl-devel pcre pcre-devel zlib-devel libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel bzip2-devel
[root@php ~]# useradd -r www

(2)安装PHP扩展
[root@php ~ ]# tar -zxvf mhash-0.9.9.9.tar.gz
[root@php mhash-0.9.9.9]# cd mhash-0.9.9.9
[root@php mhash-0.9.9.9]# ./configure
[root@php mhash-0.9.9.9]# make && make install
[root@php ~ ]# tar -zxvf libiconv-1.13.tar.gz
[root@php libiconv-1.13]# cd libiconv-1.13
[root@php libiconv-1.13]# ./configure
[root@php libiconv-1.13]# make && make install

[root@php libmcrypt-2.5.8]# tar -zxvf libmcrypt-2.5.8.tar.gz 
[root@php libmcrypt-2.5.8]# cd libmcrypt-2.5.8
[root@php libmcrypt-2.5.8]# ./configure
[root@php libmcrypt-2.5.8]# make && make install
[root@php libmcrypt-2.5.8]# ldconfig -v
[root@php libmcrypt-2.5.8]# cd libltdl
[root@php libltdl ]# ./configure  --with-gmetad  --enable-gexec  --enable-ltdl-install
[root@php libltdl ]# make && make install
[root@php ~ ]# ln -sv /usr/local/lib/libmcrypt* /usr/lib/
[root@php ~ ]# ln -sv /usr/local/lib/libmhash.* /usr/lib/
[root@php ~ ] # ldconfig -v
(3)编译安装PHP
[root@php ~]#tar -zxvf php-5.6.20.tar.gz 
[root@php ~]#cd php-5.6.20
[root@php php-5.6.20]#./configure --prefix=/usr/local/php5  \
> --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd  \
>--with-mysqli=mysqlnd --with-openssl  \
>--enable-mbstring --with-freetype-dir  \
>--with-jpeg-dir --with-png-dir --with-zlib  \
>--with-libxml-dir=/usr --enable-xml  \
>--enable-sockets --enable-fpm  \
>--with-mcrypt --with-config-file-path=/etc   \
>--with-config-file-scan-dir=/etc/php.d   \
>--with-bz2 --with-mcrypt --with-mhash \
>--with-iconv-dir=/usr/local
configure: error: Cannot find ldap libraries in /usr/lib
解决办法:
             cp -frp /usr/lib64/libldap* /usr/lib/
如果出现的报错类似于 libmysqlclient.so.18这样的文件not found,查找之后做个软连接,并ldconfig && make clean 

[root@php php-5.6.20]#make && make install
[root@php php-5.6.20]#cp  sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
[root@php php-5.6.20]#chmod +x /etc/init.d/php-fpm
[root@php php-5.6.20]#chkconfig --add php-fpm
[root@php php-5.6.20]#chkconfig  php-fpm on
[root@php php-5.6.20]# cd /usr/local/php5/etc/
[root@php etc]# cp php-fpm.conf.default php-fpm.conf
[root@php etc]#cat php-fpm.conf   ## 更改以下内容
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes
[www]
user = www
group = www
listen = 192.168.32.130:9000 
pm = dynamic                          ## 进程管理方式为dynamic,static为静态
pm.max_children = 32             ##子进程最大数根据官方建议,小于2GB内存的服务器,
                                                  ##可以只开启64个进程,4GB以上内存的服务器可以开启200个进程。
pm.start_servers = 15              ##动态方式下的起始php-fpm进程数量。
pm.min_spare_servers = 5      ##动态方式下的最小php-fpm进程数量
pm.max_spare_servers = 32   ##动态方式下的最大php-fpm进程数量
[root@php etc]# service php-fpm start
[root@php etc]#cd /var/ www/html
[root@php html]# cat index.php        ##测试页面
<!--?php
        $link = mysql_connect('192.168.32.128','root','123456');
        if ($link)
                echo "Success...";
        else
                echo "Failure...";

        mysql_close();
        phpinfo();
?>
3、mysql服务器安装
(1)编译安装mysql
[root@mysql ~]# yum -y install gcc cmake
[root@mysql ~]#useradd -s /sbin/nologin -M mysql
[root@mysql ~]#tar -zxvf mysql-5.6.16.tar.gz
[root@mysql ~]# cd mysql-5.6.16
[root@mysql  mysql-5.6.16 ]# cmake   \ 
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
> -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all \
> -DWITH_READLINE=1 -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1
[root@mysql mysql-5.6.16]#make &&make install
(2)配置mysql
[root@mysql mysql-5.6.16]#cd /usr/local/mysql
[root@mysql mysql]# chown -R mysql.mysql /usr/local/mysql/
[root@mysql mysql]# ./scripts/mysql_install_db --user=mysql   \
>--datadir=/usr/local/mysql/data                      ##Mysql初始化
[root@mysql mysql]# ls data/
mysql performance_schema test
[root@mysql mysql]#cp support-files/my-medium.cnf /etc/my.cnf
[root@mysql mysql]#cp support-files/mysql.server      /etc/init.d/mysqld
[root@mysql mysql]# chmod +x /etc/init.d/mysqld
[root@mysql mysql]#chkconfig mysqld on
(3)环境变量设置
[root@mysql ~]# vim  /etc/profile
PATH=/bin:/usr/local/mysql/bin/ :$PATH
[root@ mysql  ~]# source  /etc/profile 
[root@mysql ~]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/lib/
[root@mysql ~]# ldconfig
(4)数据库授权
mysql> grant all privileges on *.* to root@% identified by '123456';
mysql> grant all privileges on *.* to root@'localhost' identified by '123456';
mysql> flush privileges;
(5)测试




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30331499/viewspace-2083358/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30331499/viewspace-2083358/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值