老薛大讲堂-Lnmp生产环境部署精讲V2.0

时间 : 18-08-05 栏目 : nginx专题 作者 : 老薛 评论 : 2 点击 : 440 次

一、Lnmp简介:

        LNMP是Linux、Nginx、MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一。下面我将带领同学们在CentOS6操作系统上搭建一套LNMP环境。本教程适用于CentOS
6.x/7.X版本,在安装LNMP环境之前,您需要先对CentOS操作系统做一些初始化的工作,可以参考《CentOS系统初始化设置精讲.docx》。

1.1 硬件环境:

型号

R630

产品结构

1U机架服务器

CPU型号

Intel(R) Xeon(R) CPU E5-2630 v3
@ 2.40GHz6c

CPU数量

2

L2 cache

6×256KB

L3 cache

20MB

主板型号

内存容量

(8*8G)64GSamsung /M393A1G43DB0-CPB/ 最大支持768G

24DIMM插槽,支持DDR4RDIMM/LRDIMM内存

硬盘

8*2.5SAS TOSHIBA
AL13SEB600
企业级硬盘600GB
64M Cache/6Gb/s10K

支持82.5英寸SAS/SATA硬盘

网卡

板载2*Intel Corporation I350 Gigabit Network Connection双口千兆网卡, RJ45接口,支持网络唤醒,网络冗余,负载均衡等特性

板载2*Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection双口万兆网卡,网络冗余,负载均衡等特性

Raid

LSI / Symbios Logic MegaRAID SAS-3
3008 [Fury] (rev 02)

扩展槽

最高可配3PCIe 3.0半高半宽插槽

电源

2*750W AC, 86 mm 12G (Platinum)

管理

板载iDRAC8管理模块带有Lifecycle Controller,支持IPMISOLKVM Over IP、虚拟媒体等管理特性,对外提供110/100 Mbps RJ45管理网口

系统风扇

7个热插拔的对旋风扇,支持N+1冗余

工作温度*

5ºC- 40ºC

尺寸

尺寸:高:4.36厘米x宽:44.40厘米x深:68.40厘米 

1.2软件环境

软件名称

描述

CentOS
release 7.3.1611 (Core)

操作系统版本

Nginx

nginx-1.10.2.tar

Php

php-5.6.36.tar.gz

Mysql

mysql-5.6.16.tar.tz

libmemcached

libmemcached-1.0.18.tar.gz

memcached

memcached-2.1.0.tgz

phpredis

phpredis-2.2.4.tar.gz

Apc

apcu-4.0.11.tgz

pcre

pcre-8.30.tar.bz2

libmcrypt

libmcrypt-2.5.7.tar.gz

二、部署过程

2.1 源码安装nginx

[lnmp@BJ-YF-www001 ~]$ mkdir soft
[lnmp@BJ-YF-www001 ~]$ cd soft
[lnmp@BJ-YF-www001 soft]$ rz   #上传本地nginx_soft.tar.gz
[lnmp@BJ-YF-www001 soft]$ tar zxvf nginx_soft.zip
[lnmp@BJ-YF-www001 soft]$ sudo su -

#安装依赖软件包

yum install -y libxml2 curl-devel libtool-ltdl-devel.x86_64
yum install -y libxml2-*  libjpeg* openssl-devel libpng-devel
yum install -y freetype-devel libevent-devel

#安装nginx

[root@BJ-YF-www001 ~]# useradd www -M -s /sbin/nologin
[root@BJ-YF-www001 ~]# mkdir /application
[root@BJ-YF-www001 ~]# cd /home/lnmp/soft/nginx_soft
[root@BJ-YF-www001 nginx_soft]# tar xvf pcre-8.30.tar.bz2
[root@BJ-YF-www001 nginx_soft]#cd pcre-8.30
[root@BJ-YF-www001 pcre-8.30]# ./configure
[root@BJ-YF-www001 pcre-8.30]# make
[root@BJ-YF-www001 pcre-8.30]# make install
[root@BJ-YF-www001 pcre-8.30]# cd ../
[root@BJ-YF-www001 nginx_soft]#tar xvf nginx-1.10.2.tar.gz
[root@BJ-YF-www001 nginx_soft]#cd nginx-1.10.2
[root@BJ-YF-www001 nginx-1.10.2]#./configure \
--prefix=/application/nginx-1.10.2 \
--with-http_realip_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_gunzip_module \
--with-pcre=../pcre-8.30
[root@BJ-YF-www001 nginx-1.10.2]#make
[root@BJ-YF-www001 nginx-1.10.2]#make install

#创建nginx1.10.2的软链接

ln -s /application/nginx-1.10.2 /application/nginx
ls  -l  /application

#检查并启动nginx

[lnmp@BJ-YF-www001 ~]$ /application/nginx/sbin/nginx -t   #检查配置文件,提示如下则正常

nginx: the configuration file /application/nginx-1.10.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.10.2/conf/nginx.conf test is successful

/application/nginx/sbin/nginx    #启动nginx
ps  -ef  |grep  nginx --color    #检查进程
netstat -lnt |grep 80 --color   #检查端口

#打开浏览器测试

2.2源码安装mysql

#安装编译代码需要的包包

[root@BJ-YF-www001 nginx_soft]#  yum -y install make \
gcc-c++ cmake   ncurses-devel

#安装mysql

[root@BJ-YF-www001 nginx_soft]#  mkdir /data

[root@BJ-YF-www001 nginx_soft]#  tar zxvf mysql-5.6.16.tar.gz
[root@BJ-YF-www001 nginx_soft]# cd mysql-5.6.16 
[root@BJ-YF-www001 mysql-5.6.16]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
#整个过程需要20分钟左右……漫长的等待
[root@BJ-YF-www001 mysql-5.6.16]# make && make install
#配置mysql
[root@BJ-YF-www001 mysql-5.6.16]#  groupadd mysql
[root@BJ-YF-www001 mysql-5.6.16]# useradd -g mysql mysql
[root@BJ-YF-www001 mysql-5.6.16]# chown -R mysql:mysql /usr/local/mysql
[root@BJ-YF-www001 mysql-5.6.16]# chown -R mysql:mysql /data

#进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

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

#添加服务,拷贝服务脚本到init.d目录,并设置开机启动 

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

#检查/etc/my.cnf配置文件,如存在,将其移动到/tmp/,重命名为my_bak.cnf_

[root@BJ-YF-www001 mysql]# ls /etc/my.cnf
[root@BJ-YF-www001 mysql]# mv /etc/my.cnf  /tmp/my_bak.cnf_

#启动myql

[root@BJ-YF-www001 mysql]# service mysql start  #启动MySQL

#配置用户 , 修改/etc/profile文件,在文件末尾添加

[root@BJ-YF-www001 mysql]# vim /etc/profile
#add by lnmp 2014-10-17
PATH=/usr/local/mysql/bin:$PATH
export PATH

#关闭文件,让配置立即生效

source /etc/profile

#执行下面的命令修改root密码

[root@BJ-YF-www001 mysql]# mysql -uroot  
mysql> SET PASSWORD = PASSWORD('test001');
mysql> quit;

#mysql-5.6.16 安装完毕。

[root@BJ-YF-www001 mysql]# mysql -uroot  
mysql> SET PASSWORD = PASSWORD('test001');
mysql> quit;

2.3 源码安装php

[root@BJ-YF-www001 mysql]# cd /home/lnmp/soft/nginx_soft
[root@BJ-YF-www001 nginx_soft]# tar zxvf libmcrypt-2.5.7.tar.gz
[root@BJ-YF-www001 nginx_soft]# cd libmcrypt-2.5.7
[root@BJ-YF-www001 libmcrypt-2.5.7]# ./configure \
--prefix=/usr/local/libmcrypt
[root@BJ-YF-www001 libmcrypt-2.5.7]# make && make install
[root@BJ-YF-www001 libmcrypt-2.5.7]# cd ../
[root@BJ-YF-www001 nginx_soft]# tar zxvf php-5.6.36.tar.gz
[root@BJ-YF-www001 nginx_soft]# cd php-5.6.36
[root@BJ-YF-www001 php-5.6.36]# ./configure \
--prefix=/application/php-5.6.36 \
--with-config-file-path=/application/php-5.6.36/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mbstring \
--with-curl \
--with-mcrypt=/usr/local/libmcrypt \
--with-mysql=/usr/local/mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--enable-bcmath \
--enable-short-tags \
--enable-sockets \
--enable-soap \
--enable-static \
--enable-gd-native-ttf
[root@BJ-YF-www001 php-5.5.18]# make && make install

ln -s /application/php-5.6.36 /application/php
cp php.ini-production /application/php-5.6.36/etc/
cp ../php-fpm.conf /application/php/etc/

#生成测试页面

[root@BJ-YF-www001 php-5.5.18]# /application/php/sbin/php-fpm
[root@BJ-YF-www001 php-5.5.18]# cd /application/nginx/conf
[root@BJ-YF-www001 conf]# cp nginx.conf nginx.conf_xk_bak
/bin/cp /home/lnmp/soft/nginx_soft/nginx.conf .
mkdir -p /export/data/www
mkdir -p /export/servers/nginx-1.10.2/logs/
mkdir vhost && cd vhost
cp /home/lnmp/soft/nginx_soft/www.conf .  #拷贝配置文件
cd /export/data/www
cp /home/lnmp/soft/nginx_soft/test.php . #拷贝测试页面
/application/nginx/sbin/nginx –t  #检查nginx配置文件
/application/nginx/sbin/nginx -s quit #安全关闭nginx
ps -ef |grep nginx|grep -v grep  #检查nginx进程是否退出
/application/nginx/sbin/nginx    #启动nginx

#打开浏览器,输入http://IP/test.php

至此,Lnmp 基础环境部署完毕, php加速优化扩展将在下一节进行讲解,敬请关注。

更多技术交流分享,可通过如下几种方式

老薛Linux大讲堂微信公众号:laoxue100

老薛Linux大讲堂QQVIP群:237267391

老薛Linux大讲堂QQ交流群:60599879

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/nginx-2/2697.html

老薛大讲堂-Lnmp生产环境部署精讲V2.0:目前有2 条留言

  1. 老薛
    板凳
    老薛
    Post: 2018-08-18 下午9:11

    :razz: 支持一个 :oops:

  2. 沙发
    七匹狼
    Post: 2018-09-19 下午6:19

    温故而知新,赞 :oops:

发表评论

5 + 5 = ?


博主微信号,很高兴为您提供帮助

随便看看

2