zoukankan      html  css  js  c++  java
  • LNMP分离式部署

    分别部署三个服务

    一.安装Nginx

    1.nginx的编译安装部署

     

    1 yum install -y pcre-devel openssl-devel         #用本地yum仓库安装依赖包
    2 wget -q http://nginx.org/download/nginx-1.10.2.tar.gz     #下载软件源码包
    3 useradd -s /sbin/nologin -M www     #创建程序用户
    4 tar xf nginx-1.10.2.tar.gz -C /usr/src/     #解压缩
    5 cd /usr/src/nginx-1.10.2
    6 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module     #预配置
    7 make && make install        #编译和安装
    8 ln -s /usr/local/nginx/sbin/* /usr/local/sbin/  #给命令做软连接,以便PATH能找到
    9 /usr/local/nginx/sbin/nginx #启动nginx

    特别提示:
    /usr/local/nginx/sbin/nginx -s reload nginx平滑重启命令
    /usr/local/nginx/sbin/nginx -s stop nginx停止服务命令

    2.Nginx主配置文件nginx.conf

     1      egrep -v "#|^$" nginx.conf #去掉包含#号和空行的内容
     2     worker_processes  1; #worker进程的数量
     3     error_log  logs/error.log;  #错误日志(默认没开)
     4     pid        logs/nginx.pid;  #进程号(默认没开)
     5     events {    #事件区块开始
     6         worker_connections  1024;   #每个worker进程支持的最大连接数
     7     }           #事件区块结束
     8     http {      #http区块开始
     9         include       mime.types;   #Nginx支持的媒体类型库文件包含
    10         default_type  application/octet-stream; #默认的媒体类型
    11         sendfile        on;     #开启高效传输模式
    12         keepalive_timeout  65;  #连接超时。
    13         server {      #网站配置区域(第一个server第一个虚拟主机站点)
    14             listen       80;    #提供服务的端口,默认80
    15             server_name  www.chensiqi.org; #提供服务的域名主机名
    16             location / {    #第一个Location区块开始
    17                 root   html;  #站点的根目录(相对于nginx安装路径)
    18                 index  index.html index.htm; #默认的首页文件,多个用空格分开
    19             }
    20             error_page 500 502 503 504  /50x.html;  #出现对应的http状态码时,使用50x.html回应客户
    21             location = /50x.html {  #Location区块开始,访问50x.html
    22                 root   html;     #指定对应的站点目录为html
    23             }
    24         }
    25         server {      #网站配置区域(第二个server第二个虚拟主机站点)
    26             listen       80;    #提供服务的端口,默认80
    27             server_name  bbs.chensiqi.org; #提供服务的域名主机名
    28             location / {    #服务区块
    29                 root   html;  #相对路径(nginx安装路径)
    30                 index  index.html index.htm;
    31             }
    32             location = /50x.html { #发生错误访问的页面
    33                 root   html;
    34             }
    35         }
    36     }

    修改配置文件

     1 worker_processes  1;     
     2 events {
     3     worker_connections  1024;
     4 }
     5 http {
     6     include       mime.types;
     7     default_type  application/octet-stream;
     8     sendfile        on;
     9     keepalive_timeout  65;
    10     server {
    11         listen       80;
    12         server_name  www.yunjisuan.com;   #访问域名   
    13         root   /www;      #站点目录
    14         location / {
    15             index  index.php;
    16         }
    17         location ~.*.(php|php5)?$ {
    18                 fastcgi_pass 192.168.200.153:9000;    #指定PHP IP地址
    19                 fastcgi_index index.php;
    20                 include fastcgi.conf;

    注:修改配置文件后

    /usr/local/nginx/sbin/nginx -t    检验配置文件

    /usr/local/nginx/sbin/nginx -s reload   平滑重启

    3.创建网页文件目录

    mkdir /www

    1 cd www/      #进入动态网页目录下,创建动态网页
    2 echo "html php" > index.php
    3 echo "`hostname -I` www.yunjisuan.com" > /etc/hosts      #映射文件
    4 cat /etc/hosts
    5 192.168.200. 140 www.yunjisuan.com

     授权目录

    chown -R www.www /www

    二.安装PHP

    1.执行下面命令安装相关的lib软件包

    1 yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
    2 yum -y install freetype-devel libpng-devel gd libcurl-devel libxslt-devel
    rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
    zlib-devel-1.2.3-29.el6.x86_64
    libxml2-devel-2.7.6-14.el6.x86_64
    libjpeg-turbo-devel-1.2.1-1.el6.x86_64
    #这里仅缺少libiconv-devel包
    [root@localhost ~]# rpm -qa freetype-devel libpng-devel gd libcurl-devel libxslt-devel
    freetype-devel-2.3.11-14.el6_3.1.x86_64
    libpng-devel-1.2.49-1.el6_2.x86_64
    libcurl-devel-7.19.7-37.el6_4.x86_64
    libxslt-devel-1.1.26-2.el6_3.1.x86_64
    gd-2.0.35-11.el6.x86_64

    安装yum无法安装的libiconv库

    1 wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
     1 tar xf libiconv-1.14.tar.gz -C /usr/src/
     2 cd /usr/src/libiconv-1.14/
     3 ./configure --prefix=/usr/local/libiconv && make && make install
     4 rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm    
    5 warning: libmcrypt-2.5.8-9.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 6 Preparing... ########################################### [100%] 7 1:libmcrypt ########################################### [100%] 8 [root@zhangmingjuan ~]# rpm -ivh mhash-0.9.9.9-3.el6.x86_64.rpm 9 warning: mhash-0.9.9.9-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 10 Preparing... ########################################### [100%] 11 1:mhash ########################################### [100%] 12 [root@zhangmingjuan ~]# rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm 13 warning: libmcrypt-devel-2.5.8-9.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 14 Preparing... ########################################### [100%] 15 1:libmcrypt-devel ########################################### [100%] 16 [root@zhangmingjuan ~]# rpm -ivh mcrypt-2.6.8-10.el6.x86_64.rpm 17 warning: mcrypt-2.6.8-10.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 18 Preparing... ########################################### [100%] 19 1:mcrypt ########################################### [100%]

    注:安装顺序  

    2.安装PHP(FastCGI方式)服务

    获取安装包

    1 wget http://cn2.php.net/get/php-5.3.28.tar.gz/from/this/mirror

    解压配置PHP

     1 tar xf php-5.3.28.tar.gz -C /usr/src/
     2 cd /usr/src/php-5.3.28/
     3 ./configure 
     4 > --prefix=/usr/local/php5.3.28 
     5 > --with-mysql=mysqlnd                #PHP自己配置MYSQL环境 6 > --with-iconv-dir=/usr/local/libiconv 
     7 > --with-freetype-dir 
     8 > --with-jpeg-dir 
     9 > --with-png-dir 
    10 > --with-zlib 
    11 > --with-libxml-dir=/usr 
    12 > --enable-xml 
    13 > --disable-rpath 
    14 > --enable-safe-mode 
    15 > --enable-bcmath 
    16 > --enable-shmop 
    17 > --enable-sysvsem 
    18 > --enable-inline-optimization 
    19 > --with-curl 
    20 > --with-curlwrappers 
    21 > --enable-mbregex 
    22 > --enable-fpm 
    23 > --enable-mbstring 
    24 > --with-mcrypt 
    25 > --with-gd 
    26 > --enable-gd-native-ttf 
    27 > --with-openssl 
    28 > --with-mhash 
    29 > --enable-pcntl 
    30 > --enable-sockets 
    31 > --with-xmlrpc 
    32 > --enable-zip 
    33 > --enable-soap 
    34 > --enable-short-tags 
    35 > --enable-zend-multibyte 
    36 > --enable-static 
    37 > --with-xsl 
    38 > --with-fpm-user=www 
    39 > --with-fpm-group=www 
    40 > --enable--ftp

    安装成功

    3.编译

    1 ln -s /usr/local/mysql/lib/libmysqlclient.so.18
    2 libmysqlclient.so.18      libmysqlclient.so.18.0.0  
    3 ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
    4 touch ext/phar/phar.phar
    5 make
    6 #make最后的正确提示
    7 Build complete.
    8 Don't forget to run 'make test'.
    9 make install #安装

    4.配置PHP引擎配置文件PHP.ini

    设置软连接

    1 ln -s /usr/local/php5.3.28/ /usr/local/php

    拷贝PHP配置文件到PHP默认目录,并更改文件名称为php.ini

    1 cd /usr/src/php-5.3.28/
    2 cp php.ini-production /usr/local/php/lib/php.ini
    3 ls -l /usr/local/php/lib/php.ini 
    4 -rw-r--r--. 1 root root 69627 Jul 14 13:25 /usr/local/php/lib/php.ini
    

    配置PHP(FastCGI方式)的配置文件php-fpm.conf

    1 cp php.ini-production /usr/local/php/lib/php.ini
    2 ls -l /usr/local/php/lib/php.ini 
    3 -rw-r--r--. 1 root root 69627 Jul 14 13:25 /usr/local/php/lib/php.ini
    4 ]# cd /usr/local/php/etc/
    5 ls
    6 pear.conf  php-fpm.conf.default
    7 cp php-fpm.conf.default php-fpm.conf

    启动PHP服务(FastCGI方式)

    1 /usr/local/php/sbin/php-fpm

    修改配置文件

    4.创建程序用户

    1 useradd -s /sbin/nologin -g www -M www
    2 tail -1 /etc/passwd
    3 www:x:500:500::/home/www:/sbin/nologin
    4 id www
    5 uid=500(www) gid=500(www) groups=500(www)

    5.创建网页文件目录

    mkdir /www

    1 cd www/      #进入动态网页目录下,创建动态网页
    2 echo "html php" > index.php
    3 echo "`hostname -I` www.yunjisuan.com" > /etc/hosts      #映射文件
    

     授权目录

    chown -R www.www /www

    编辑test_mysql.php,加入如下内容:

     

    [root@zhengweiqiang www]# cat test_mysql.php 
    <?php
        //$link_id=mysql_connect('192.168.200.154','yunjisuan','123123');  #mysql 
        $link_id=mysql_connect('localhost','root','123123');
        if($link_id){
            echo "mysql successful by Mr.chen !";
        }else{
            echo mysql_error();
        }
    ?>

     

    三.安装MySQL

    1.创建mysql用户的账号

    1 useradd -s /sbin/nologin -g mysql -M mysql
    2 tail -1 /etc/passwd
    3 mysql:x:501:501::/home/mysql:/sbin/nologin
    4 id mysql
    5 uid=501(mysql) gid=501(mysql) groups=501(mysql)

    2. 采用二进制方式安装MySQL

     1 tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/
     2 cd /usr/local/
     3 mv mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32
     4 ln -s mysql-5.5.32 mysql
     5 ls
     6 bin  games    lib    libexec  mysql-5.5.32  nginx-1.10.2  share
     7 etc  include  lib64  mysql    nginx         sbin          src
     8 cd /usr/local/mysql
     9 ls
    10 bin      data  include         lib  mysql-test  scripts  sql-bench
    11 COPYING  docs  INSTALL-BINARY  man  README      share    support-files
    12 #提示:
    13 二进制安装包,仅需要解压就可以了,不需要执行cmake/configure,make,make install等过程

    3.初始化 MySQL配置文件my.cnf

    cd /usr/local/mysql
    ls -l support-files/*.cnf
    -rw-r--r-- 1 7161 wheel  4691 Jun 19  2013 support-files/my-huge.cnf
    -rw-r--r-- 1 7161 wheel 19759 Jun 19  2013 support-files/my-innodb-heavy-4G.cnf
    -rw-r--r-- 1 7161 wheel  4665 Jun 19  2013 support-files/my-large.cnf
    -rw-r--r-- 1 7161 wheel  4676 Jun 19  2013 support-files/my-medium.cnf
    -rw-r--r-- 1 7161 wheel  2840 Jun 19  2013 support-files/my-small.cnf
    /bin/cp support-files/my-small.cnf /etc/my.cnf

    4.配置并启动MySQL数据库

     1 cd /usr/local/mysql
     2  ls
     3 bin      data  include         lib  mysql-test  scripts  sql-bench
     4 COPYING  docs  INSTALL-BINARY  man  README      share    support-files
     5  /bin/cp support-files/mysql.server /etc/init.d/mysqld      #拷贝MySQL启动脚本到MySQL的命令路径
     6 chmod +x /etc/init.d/mysqld
     7 /etc/init.d/mysqld start      #启动mysql数据库
     8 Starting MySQL... SUCCESS!
     9 netstat -antup | grep mysql      #检查MySQL数据库是否启动
    10 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1485/mysqld         
    11 chkconfig --add mysqld      #设置MySQL开机自启动
    12 chkconfig mysqld on
    13 chkconfig --list mysqld
    14 mysqld             0:off    1:off    2:on    3:on    4:on    5:on    6:off
    15 ln -s /usr/local/mysql/bin/* /usr/local/bin/      #配置mysql命令的全局使用路径
    16 which mysqladmin
    17 /usr/local/bin/mysqladmin

    5.数据库方配置

    1 mysqladmin -u root password '123123'
    2 mysql -uroot -p123123
    Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection
    id is 2 Server version: 5.5.32 MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> grant all on *.* to 'yunjisuan'@'%' identified by '123123'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

    6.创建一个专用的管理用户,命令如下:

     1 mysql> grant all on wordpress.* to 'yunjisuan'@'%' identified by '123123';                    #localhost为客户端地址
     2 Query OK, 0 rows affected (0.00 sec)
     3 mysql> flush privileges;            #刷新权限,使得创建用户生效
     4 Query OK, 0 rows affected (0.00 sec)
     5 mysql> show grants for 'yunjisuan'@'localhost';   #查看用户对应权限
     6 +------------------------------------------------------------------------------------------------------------------+
     7 | Grants for wordpress@localhost                                                                                   |
     8 +------------------------------------------------------------------------------------------------------------------+
     9 | GRANT USAGE ON *.* TO 'wordpress'@'localhost' IDENTIFIED BY PASSWORD '*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' |
    10 | GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost'                                                 |
    11 +------------------------------------------------------------------------------------------------------------------+
    12 2 rows in set (0.00 sec)
    13 mysql> select user,host from mysql.user;        #查看数据库里创建用户
    14 +-----------+-----------+
    15 | user      | host      |
    16 +-----------+-----------+
    17 | root      | 127.0.0.1 |
    18 | root      | localhost |
    19 | yunjisuan| %          |   
    20 +-----------+-----------+
    21 3 rows in set (0.00 sec)
    22 mysql> quit
    23 Bye

    四.最终测试结果

     

     成功!

  • 相关阅读:
    Linux: 安装和启用firefox浏览器的java
    Latex: beamer
    时频分析:窗口傅立叶变换
    Python: 面向对象
    Linux: 安装NVIDIA显卡驱动
    Matlab: 路径的操作
    python--文件读写
    python--函数
    python--数据类型
    网络基础——网络协议
  • 原文地址:https://www.cnblogs.com/GokouRuri-zwq/p/10041458.html
Copyright © 2011-2022 走看看