内容简介:众所周知,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
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 //检测语法
(2)在/var/www/benet下创建php测试页面
service nginx restart //重启服务
mkdir -p /var/www/benet //创建目录
vi /var/www/benet/index.php //创建php文件
<?php
phpinfo();
?>
在浏览器中访问PHP文件
第五步:创建论坛
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; //刷新数据库//
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();
?>
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
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-11/155512.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- LLVM 6.0.1 发布,编译器架构
- 华为方舟编译器是怎么改变安卓底层架构的?
- 强强联手,GCC 编译器吸纳OpenRISC 作为架构端口
- 从虚拟机架构到编译器实现导引【一本书的长度】
- LDC 1.9.0 发布,基于LLVM架构的D语言编译器
- 在Linux交叉编译出适用于树莓派ARM架构的可执行程序
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hit Refresh
Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37
Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!