目录
一、LNMP架构部署及运用1.1 LNMP架构解读1.2 MySQL安装配置1.3 PHP解析环境的安装-11.4 PHP解析环境的安装-21.5 配置Nginx支持PHP环境1.6 LNMP下部署Discuz
二、部署LNMP
一、LNMP架构部署及运用
1.1 LNMP架构解读
■ LNMP平台就是Linux、Ngnix、MySQL、PHP的组合架构,需要Linux服务器、MySQL数据库、PHP解析环境 ■ 本案例在单台服务器上部署LNMP环境 ■ 案例架构
1.2 MySQL安装配置
■ 为了与Ngin x、PHP环境保持一致, 此处选择采用源代 码编译的方式安装MySQL组件
■ MySQL部署的方法
编译安装MySQL优化调整初始化数据库启动MySQL服务并设置root数据库账号的密码
1.3 PHP解析环境的安装-1
■ 配置网页动静分离, 解析PHP, 有两种方法可以选择
使用PHP的FPM模块将访问PHP页面的Web请求转交给Apache服务器去处理
■ 较新版本的PHP已经自带FPM模块, 对PHP解析实例进 行管理、优化解析效率
Fast CGl将Http Server和动态脚本语言分离开Nginx专门处理静态请求, 转发动态请求PHP-FPM专门解析PHP动态请求
■ 单服务器的LNMP架构通常使用FPM方式来解析PHP
1.4 PHP解析环境的安装-2
■ PHP编译安装步骤
编译安装PHP ◆ 编译选项时添加“–enable-fpm”以启用此模块安装后的调整 ◆ 主要是配置文件的建立与相应命令工具的路径优化安装ZendGuardLoader (提高PHP解析效率) , 并进行加载配置
1.5 配置Nginx支持PHP环境
■ 调用本机的php-fpm进程配置方法
建立FPM配置文件php-fpm.conf, 修改配置选项 ◆ PID文件、运行用户、服务进程数等启动php-fpm进程
■ 配置Nginx支持PHP解析
在Ng in x的配置文件的server{} 配置段中设置将PHP的网页请求转给FPM模块处理
■ PHP页面访问测试
1.6 LNMP下部署Discuz
■官方网站:http://www.discuz.net ■ 部署Discuz论坛系统
下载并解压discuz代码包将upload文件夹上传到网站的网页目录, 将修改权限为777创建所需要的数据库, 如bbs, 并授权给run bbs用户在浏览器中访问网站的bbs/install/目录,按提示操作便可完成安装
二、部署LNMP
一、安装nginx
1、安装环境依赖包
yum -y
install gcc gcc-c++
make pcre-devel zlib-devel perl
编译器
编译器
make工具
支持正则表达式的工具
压缩工具
perl语言工具
2、创建运行用户、组
[root@localhost opt
]
3、编译安装
[root@localhost opt
]
[root@localhost nginx-1.12.2
]
[root@localhost opt
]
./configure --prefix
=/usr/local/nginx --user
=nginx --group
=nginx --with-http_stub_status_module
--指定安装目录
--指定程序账户nginx
--组账户nginx
--访问统计模块
[root@localhost mysql-5.7.20
]
步骤四:优化路径
[root@localhost nginx-1.15.9
]
[root@localhost nginx-1.15.9
]
total 0
lrwxrwxrwx. 1 root root 27 Sep 3 08:12 nginx -
> /usr/local/nginx/sbin/nginx
步骤五:nginx的运行控制
[root@localhost nginx-1.15.9
]
[root@localhost nginx-1.15.9
]
[root@localhost nginx-1.15.9
]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21904/nginx: master
步骤六:添加nginx系统服务
为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写基于CentOS 7.6的
Nginx服务控制文件使用systemctl工具来进行管理,CentOS7.6系统的管理习惯
[root@localhost
]
[Unit
]
Description
=nginx
After
=network.target
[Service
]
Type
=forking
PIDFile
=/usr/local/nginx/logs/nginx.pid
ExecStart
=/usr/local/nginx/sbin/nginx
ExecReload
=/usr/bin/kill -s HUP
$MAINPID
ExecStop
=/usr/bin/kill -s QUIT
$MAINPID
PrivateTmp
=true
[Install
]
WantedBy
=multi-user.target
[Unit
]
Description
=nginx
After
=network.target
[Service
]
Type
=forking
PIDFile
=/usr/local/nginx/logs/nginx.pid
ExecStart
=/usr/local/nginx/sbin/nginx
ExecReload
=/usr/bin/kill -s HUP
$MAINPID
ExecStop
=/usr/bin/kill -s QUIT
$MAINPID
PrivateTmp
=true
[Install
]
WantedBy
=multi-user.target
[root@localhost nginx-1.12.2
]
[root@localhost nginx-1.12.2
]
systemctl stop nginx
[root@localhost nginx-1.12.2
]
[root@localhost nginx-1.12.2
]
[root@localhost nginx-1.12.2
]
[root@localhost nginx-1.12.2
]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 22658/nginx: master
测试:览器输入服务器ip地址 20.0.0.6查看nginx是否正常访问
二、安装mysql数据库
步骤一:安装mysql
yum -y
install \
ncurses \
ncurses-devel \
bison \
cmake
yum -y
install \
ncurses \
ncurses-devel \
bison \
cmake
步骤二:创建mysql程序账户
[root@localhost ~
]
步骤三:到opt 软件包所在目录下
[root@localhost mysql-5.7.20
]
[root@localhost mysql-5.7.20
]
步骤四:编译安装
[root@localhost mysql-5.7.20
]
cmake \
-DCMAKE_INSTALL_PREFIX
=/usr/local/mysql \
-DMYSQL_UNIX_ADDR
=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR
=/etc \
-DSYSTEMD_PID_DIR
=/usr/local/mysql \
-DDEFAULT_CHARSET
=utf8 \
-DDEFAULT_COLLATION
=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE
=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE
=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE
=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE
=1 \
-DMYSQL_DATADIR
=/usr/local/mysql/data \
-DWITH_BOOST
=boost \
-DWITH_SYSTEMD
=1
cmake \
-DCMAKE_INSTALL_PREFIX
=/usr/local/mysql \
-DMYSQL_UNIX_ADDR
=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR
=/etc \
-DSYSTEMD_PID_DIR
=/usr/local/mysql \
-DDEFAULT_CHARSET
=utf8 \
-DDEFAULT_COLLATION
=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE
=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE
=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE
=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE
=1 \
-DMYSQL_DATADIR
=/usr/local/mysql/data \
-DWITH_BOOST
=boost \
-DWITH_SYSTEMD
=1
[root@localhost mysql-5.7.20
]
步骤五:数据库目录进行权限调整
[root@localhost mysql-5.7.20
]
步骤六:建立调整配置文件
[root@localhost mysql-5.7.20
]
[client
]
port
= 3306
default-character-set
=utf8
socket
= /usr/local/mysql/mysql.sock
[mysql
]
port
= 3306
default-character-set
=utf8
socket
= /usr/local/mysql/mysql.sock
[mysqld
]
user
= mysql
basedir
= /usr/local/mysql
datadir
= /usr/local/mysql/data
port
= 3306
character_set_server
=utf8
pid-file
= /usr/local/mysql/mysqld.pid
socket
= /usr/local/mysql/mysql.sock
server-id
= 1
sql_mode
=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[root@localhost mysql-5.7.20
]
步骤七:设置环境变量
[root@localhost mysql-5.7.20
]
PATH
=/usr/local/mysql/bin:/usr/local/mysql/lib:
$PATH'
[root@localhost mysql-5.7.20
]
步骤八:初始化数据库
[root@localhost mysql-5.7.20
]
bin/mysqld \
--initialize-insecure \
--user
=mysql \
--basedir
=/usr/local/mysql \
--datadir
=/usr/local/mysql/data
步骤九:启动mysql数据库
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost mysql
]
[root@localhost mysql
]
[root@localhost mysql
]
tcp6 0 0 :::3306 :::* LISTEN 53975/mysqld
步骤十:设置mysql数据库密码
[root@localhost mysql
]
[root@localhost mysql
]
三、PHP、安装配置PHP解析环境
步骤一:安装PHP依赖环境包
yum -y
install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
yum -y
install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
步骤二:到软件包所在目录opt解压
[root@localhost ~
]
[root@localhost opt
]
步骤三: 编译安装
[root@localhost opt
]
./configure \
--prefix
=/usr/local/php \
--with-mysql-sock
=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
./configure \
--prefix
=/usr/local/php \
--with-mysql-sock
=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
[root@localhost php-7.1.10
]
步骤四:优化过程
[root@localhost ~
]
[root@localhost ~
]
mysqli.default_socket
= /usr/local/mysql/mysql.sock
date.timezone
= Asia/Shanghai
[root@localhost ~
]
步骤五:配置及优化FRM模块
[root@localhost ~
]
[root@localhost etc
]
[root@localhost etc
]
[root@localhost php-fpm.d
]
[root@localhost etc
]
[root@localhost etc
]
pid
= run/php-fpm.pid
[root@localhost php-fpm.d
]
[root@localhost php-fpm.d
]
[root@localhost php-fpm.d
]
ps aux
|grep -c
'php-fpm'
4
步骤六:让nginx支持PHP功能
vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$
{
root html
;
fastcgi_pass 127.0.0.1:9000
;
fastcgi_index index.php
;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html
$fastcgi_script_name;
include fastcgi_params
;
}
[root@localhost php-fpm.d
]
步骤七:做php测试网页文档
[root@localhost php-fpm.d
]
<?php
phpinfo
();
?
>
步骤八: 重启nginx服务验证
[root@localhost php-fpm.d
]
测试:浏览器输入20.0.0.6/index.php 就能查看公告搭建的网站
步骤九:mysql数据库授权
[root@localhost ~
]
CREATE DATABASE bbs
;
GRANT all ON bbs.* TO
'bbsadm'@
'%' IDENTIFIED BY
'admin123';
GRANT all ON bbs.* TO
'bbsadm'@
'localhost' IDENTIFIED BY
'admin123';
flush privileges
;
[root@localhost ~
]
[root@localhost opt
]
[root@localhost opt
]
[root@localhost dir_SC_UTF8
]
[root@localhost dir_SC_UTF8
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
[root@localhost bbs
]
浏览器输入http://20.0.0.6/bbs/install/index.php就可以一步一步可视化操作了!
数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsadm
数据库密码:admin123
管理员账号:admin
管理员密码abc123
安装完后,论坛首页:http://20.0.0.6/bbs/index.php
后台登录网址:http://20.0.0.6/bbs/admin.php
进去后会显示FTP这条,可以优化一下,要把FTP提示给删掉!!!
[root@localhost
]
[root@localhost bbs
]
[root@localhost bbs
]