源码编译LNMP平台架构

栏目: PHP · 发布时间: 6年前

内容简介:众所周知,LAMP 平台是目前应用最为广泛的网站服务器架构,其中的“A”对应着Web服务软件Apache HTTP Server。随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中的“E”就来自于Nginx的发音[engine x]。就像构建LAMP平台一一样, 构建LNMP平台也需要Linux服务器、MySOL数据库和PHP解析环境,区别主要在Nginx与PHP的协作配置上。第一步:安装Nginx1.编译安装Nginx

众所周知,LAMP 平台是目前应用最为广泛的网站服务器架构,其中的“A”对应着Web服务软件Apache HTTP Server。随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多 Linux 系统工程师的青睐,其中的“E”就来自于Nginx的发音[engine x]。就像构建LAMP平台一一样, 构建LNMP平台也需要Linux服务器、MySOL数据库和 PHP 解析环境,区别主要在Nginx与PHP的协作配置上。

第一步:安装Nginx

1.编译安装Nginx

--------安装依赖包-------

yum -y install pcre-devel zlib-devel gcc gcc-c++ cmake

//创建nginx用户

useradd -M -s /sbin/nologin nginx

//解压到/opt

tar xzvf nginx-1.6.0.tar.gz -C /opt

---------配置编译安装--------

cd /opt/nginx-1.6.0/

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module            //开启stub_status状态统计模块//

make

make install

2.制作启动脚本

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  //让系统识别命令

-----检查、启动、重启、停止--------

nginx -t        //检查

nginx          //启动

killall -1 nginx    //重启

killall -3 nginx    //停止

-------制作管理角本--------

vi /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

chmod +x /etc/init.d/nginx

chkconfig --add nginx  //开机自启动

service nginx start

第二步:安装MySQL

这里以版本5.5.24为例

1.编译安装MySQL

yum -y install ncurses-devel                  //ncurses是字符终端下屏幕控制的基本库//

tar xzvf mysql-5.5.24.tar.gz -C /opt

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

make && make install

2.优化调整

cp support-files/my-medium.cnf /etc/my.cnf    //复制配置文件

cp support-files/mysql.server /etc/init.d/mysqld  //复制启动脚本

chmod +x /etc/init.d/mysqld     

chkconfig --add mysqld

chkconfig --level 35 mysqld on

echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile //配置环境变量

. /etc/profile            (注意:"."后面有空格)

3.初始化数据库

useradd -s /sbin/nologin mysql

chown -R mysql.mysql /usr/local/mysql

/usr/local/mysql/scripts/mysql_install_db \

--user=mysql \

--ldata=/var/lib/mysql \

--basedir=/usr/local/mysql \

--datadir=/home/mysql

ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock

4.启动 MySQL 服务

vi /etc/init.d/mysqld    //配置启动脚本

basedir=/usr/local/mysql 

datadir=/home/mysql

service mysqld start

mysqladmin -u root -p password "abc123"  //为root用户设置密码

第三步:安装PHP解析环境

•Nginx配置网页动静分离、解析PHP,有两种方法可以选择:使用PHP的FPM模块,或者将访问PHP页面的Web请求转交给Apache服务器去处理。

•较新版本的PHP已经自带FPM (FastCGI Process Manager, FastCGI进程管理器)模块,用来对PHP解析实例进行管理和优化解析效率。FastCGI 将静态请求和动态脚本语言分离开,Nginx 专门处理静态请求,并转发动态请求给PHP-FPM。单服务器的

LNMP架构通常使用FPM的方式来解析PHP。

1.使用yum工具安装PHP的依赖包。

//首先安装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

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    //添加fpm模块

make && make install

3.复制模板文件作为PHP的主配置文件

cp php.ini-development /usr/local/php5/php.ini

4.为PHP安装加速器,用于提高PHP的解析效率

tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt

cd /opt/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x

cp ZendGuardLoader.so /usr/local/php5/lib/php

修改PHP的主配置文件,开启ZendGuardLoader模块

vi /usr/local/php5/php.ini

[Zend Guard Loader]

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1  //1表示开启

第四步:配置Nginx支持PHP环境

1.PHP-FPM模块配置

(1)复制模板文件php-fpm.conf.default作为PHP-FPM的配置文件

cd /usr/local/php5/etc/

cp  php-fpm.conf.default php-fpm.conf

(2)修改php-fpm.conf配置文件

useradd -M -s /sbin/nologin php  //创建php用户

vi php-fpm.conf //修改

pid = run/php-fpm.pid    //确定pid文件位置

user = php              //表示由php用户调用

group = php

pm.max_children=50      //fpm模块的最大进程数

pm.start_servers = 20  //启动时开启的进程数

pm.min_spare_servers = 5  //最小空闲进程数

pm.max_spare_servers = 35 //最大空闲进程数

(3)启动PHP-FPM模块,进程使用9000端口

//设置软链接,方便命令使用

ln -s /usr/local/php5/bin/* /usr/local/bin/

ln -s /usr/local/php5/sbin/* /usr/local/sbin/

/usr/local/sbin/php-fpm

netstat -lntup | grep 9000

源码编译LNMP平台架构

2.配置Nginx支持PHP解析

(1)在Nginx的主配置文件中的server{}配置段,将PHP的网页请求转发给FPM模块处理

cd /usr/local/nginx/conf/

cp nginx.conf nginx.conf.bak  //修改前做备份

vi nginx.conf

location ~ \.php$ {

root          /var/www/benet;    //php文件所在目录

fastcgi_pass  127.0.0.1:9000;    //php文件转发给FPM模块

fastcgi_index  index.php;        //默认文件是index.php

include        fastcgi.conf;  //包含fastcgi.conf配置文件

}

nginx -t  //检测语法

源码编译LNMP平台架构

(2)在/var/www/benet下创建php测试页面

service nginx restart      //重启服务

mkdir -p /var/www/benet    //创建目录

vi /var/www/benet/index.php  //创建php文件

<?php

phpinfo();

?>

在浏览器中访问PHP文件

源码编译LNMP平台架构

第五步:创建论坛

1.创建bbs数据库并授权

mysql -u root -p

mysql> CREATE DATABASE bbs;  //创建一个数据库//

mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';  //把bbs数据库里面所有表的权限授予给bbSUSEr,并设置密码//

mysql>flush privileges; //刷新数据库//

源码编译LNMP平台架构

2.测试数据库

vi /var/www/benet/index.php

<?php

$link=mysql_connect('192.168.26.153','bbsuser','admin123');

if($link) echo "Success!!";

else echo "Fail!!";

mysql_close();

phpinfo();

?>

源码编译LNMP平台架构

3.安装论坛

unzip Discuz_X3.3_SC_UTF8.zip -d /opt/dis  //解压Discuz

cd /opt/dis

cp -r upload/ /var/www/benet/bbs

cd /var/www/benet/bbs

chown -R php ./config    //修改属性

chown -R php ./data

chown -R php ./uc_client

chown -R php ./uc_server/data

4.访问浏览器,安装论坛

http://192.168.26.153/bbs/install/index.php

源码编译LNMP平台架构 源码编译LNMP平台架构 源码编译LNMP平台架构 源码编译LNMP平台架构 源码编译LNMP平台架构 源码编译LNMP平台架构

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-11/155512.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

On LISP

On LISP

Paul Graham / Prentice Hall / 09 September, 1993 / $52.00

On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also ......一起来看看 《On LISP》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器