LNMP服务器架构——手工编译安装

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

安装环境:

宿主机:Redhat Linux 6.5     IP:192.168.100.103
安装包:nginx-1.6.0、mysql-5.5.24、php-5.4.5、Discuz_X2.5
软件包下载:后续上传。。。

部署目标:

在 Linux6.5 上搭建 LNMP 架构,并启动动力论坛

开始部署:

一、部署 Nginx 服务器

  1. 安装依赖包
    yum -y install pcre-devel zlib-devel gcc gcc-c++

  2. 建立nginx管理用户
    useradd -M -s /sbin/nologin nginx

  3. 解压nginx安装包
    tar xzvf nginx-1.6.0.tar.gz -C /opt

  4. 配置编译安装
    cd /opt/nginx-1.6.0/

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module //开启stub_status状态统计模块//

  1. 执行编译安装
    make && make install

  2. 建立链接让系统识别命令
    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

NGINX管理

-----检查、启动、重启、停止--------
nginx -t //检查
nginx //启动
killall -1 nginx //重启
killall -3 nginx //停止

  1. 制作 NGINX管理脚本
    vim /etc/init.d/nginx

#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0

  1. 赋予脚本执行权限、加入系统服务管理
    chmod +x /etc/init.d/nginx
    chkconfig --add nginx

测试:

LNMP服务器架构——手工编译安装

二、部署MySQL服务

  1. 安装支持软件包
    yum install ncures-devel cmake gcc gcc-c++

  2. 解压MySQL软件包
    tar zxvf mysql-5.5.24.tar.gz -C /opt

  3. 移动到mysql目录,执行cmake配置
    cd /opt/mysql-5.5.24/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled

  1. 执行编译安装
    make && make install

  2. 复制MySQL配置文件及启动脚本到系统目录中

    cp support-files/my-medium.cnf /etc/my.cnf
    cp support-files/mysql.server /etc/init.d/mysqld
  3. 赋予执行权限,加入系统管理,设置开机启动

    chmod +x /etc/init.d/mysqld       
    chkconfig --add mysqld
    chkconfig --level 35 mysqld on 
  4. 将MySQL添加到系统环境变量中

    echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
    . /etc/profile
  5. 添加mysql管理用户,并修改用户组

    useradd -s /sbin/nologin mysql
    chown -R mysql.mysql /usr/local/mysql
  6. 导入MySQL的默认数据库

    /usr/local/mysql/scripts/mysql_install_db \
    --user=mysql \
    --ldata=/var/lib/mysql \
    --basedir=/usr/local/mysql \
    --datadir=/home/mysql

  7. 建立软链接方便管理
    ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock

  8. 编辑MySQL启动脚本

    vi /etc/init.d/mysqld

    basedir=/usr/local/mysql
    datadir=/home/mysql

测试:

LNMP服务器架构——手工编译安装

三、部署PHP服务

  1. 安装GD库及GD库关联程序

    yum -y install \
    gd \
    libxml2-devel \
    libjpeg-devel \
    libpng-devel \
    zlib-devel \
    fontconfig-devel \
    openssl-devel \
    bzip2-devel

  2. 解压PHP安装包
    tar jxvf php-5.4.5.tar.bz2 -C /opt

  3. 配置PHP
    cd /opt/php-5.4.5/

./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir \
--with-openssl \
--disable-ipv6 \
--enable-fpm

  1. 编译安装
    make && make install

  2. 复制PHP配置文件模板
    cp php.ini-development /usr/local/php5/php.ini

  3. 建立链接到系统目录,便于用户管理

    ln -s /usr/local/php5/bin/* /usr/local/bin/
    ln -s /usr/local/php5/sbin/* /usr/local/sbin/
  4. 为PHP安装加速器

    tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
    cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
    cp ZendGuardLoader.so /usr/local/php5/lib/php
  5. 配置PHP识别加速器
    vim /usr/local/php5/php.ini

    在配置文件末尾添加下面的行
    [Zend Guard Loader]
    zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
    zend_loader.enable=1

  6. 开启nginx的PHP支持

    cd /usr/local/php5/etc/
    cp  php-fpm.conf.default php-fpm.conf
    useradd -M -s /sbin/nologin php
    vim php-fpm.conf

    #找到下面几个参数,并修改
    pid = run/php-fpm.pid
    user = php
    group = php
    pm.max_children=50
    pm.start_servers = 20
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35

  7. 让nginx支持PHP功能
    vim /usr/local/nginx/conf/nginx.conf

    location ~ .php$ {
    root /var/www/benet;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    }

  8. 添加PHP测试页

    mkdir /var/www/wzn
    vim /var/www/wzn/index.php

    <?php
    phpinfo();
    ?>

  9. 建立数据库,并授权

    mysql -u root

    mysql> CREATE DATABASE bbs; //创建一个数据库//
    mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//
    mysql>flush privileges; //刷新数据库//

  10. 测试数据库
    vim /var/www/wzn/index.php

    修改为下面的行
    <?php
    $link=mysql_connect('主机IP','bbsuser','admin123');
    if($link) echo "Success!!";
    else echo "Fail!!";
    mysql_close();
    ?>

LNMP服务器架构——手工编译安装

论坛安装

  1. 解压Discuz论坛软件包
    unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis

  2. 复制网站文件到站点目录下bbs中
    cd /opt/dis
    cp -r upload/ /var/www/benet/bbs
  3. 赋予文件执行权限
    cd /var/www/wzn/bbs/
    chown -R php ./config
    chown -R php ./data
    chown -R php ./uc_client
    chown -R php ./uc_server/data

    测试:

    LNMP服务器架构——手工编译安装

至此可以看到 LNMP 架构已经成功部署。

猜你喜欢

转载自blog.51cto.com/13625676/2132531