Bootstrap

企业网站架构部署与优化--LNMP部署及应用(LNMP架构部署,nginx,mysql,PHP编译安装,discuz论坛搭建)

前言

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

一:LNMP架构的部署

1.1:LNMP架构概述

LNMP平台就是 Linux、 Ngnix、 My SQL、PHP的组合架构,需要 Linux服务器、MysαL数据库、PHP解析环境

Ngnix特长:高并发,低资源,处理静态网络访问请求非常强

Apache:静态处理和动态处理都可以做,更适合做动态处理

Nginx将动态资源请求交给PHP当中的fpm处理动态请求

PHP主配置文件:php.ini

Nginx将动态资源分配给FPM或Apache

1.2:MySQL安装配置

为了与 Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装 My SQL组件
MySQL部署的方法
编译安装 MySQL
优化调整初始化数据库
启动mysq服务并设置root数据库账号的密码

1.3:PHP解析环境的安装

配置网页动静分离,解析PHP,有两种方法可以选择

使用PHP的FPM模块

将访问PHP页面的Web请求转交给 Apache服务器去处理

较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率

FastCG将 Http Server和动态脚本语言分离开
Nginx专门处理静态请求,转发动态请求
PHP FPM专门解析PHP动态请求
单服务器的LNMP架构通常使用FPM的方式来解析PHP

PHP编译安装步骤

编译安装PHP
编译选项时添加"- enable-fpm”以启用此模块
安装后的调整,主要是配置文件的建立与相应命令工具的路径优化
安装 Zend Guardloader(提高PHP解析效率),并进行加载配置
CGI还有跨平台的功能

1.4:配置Nginx支持PHP环境

调用本机的php-fpm进程配置方法

建立FPM配置文件php- fpm. conf,修改配置选项,如:PD文件运行用户、服务进程数等

启动php-pm进程

在Ngnx的配置文件中的 serve}配置段配置将PHP的网页请求转给FPM模块处理

在Ngnx的配置文件中的 Server{}配置段配置将PHP的网页请求转给FPM模块处理

1.5:常见的PHP开源产品介绍

Discuz!

康盛创想(北京困技有限公司推出的一套通用的社区论坛软件系统,如001年6月面世以来,是全球成熟度最高、覆盖率最大的论坛软件系统之一

PHPWind

PHPWind(简称:PW)是一个基于PHP和 MySQL的论坛程序,是国内最受欢迎的通用型论坛程序之一。 PHPWind的前身是onstar,发布于2004年, PHPWind由杭州德天信息技术有限公司开发,软件全面开源免费

二:LNMP应用部署

2.1:Nginx安装

2.1.1:编译安装步骤

1.挂载宿主机的共享文件夹,读取下载好的源码文件

2.解压跨平台组件包和源码包
将跨平台组件包移动到源码包目录下

3.安装编译器和其他工具

yum -y install gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl \
zlib-devel \
pcre

4.configure配置

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

5.make编译和make install

6,路径优化

ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin	'//nginx命令执行路径优化'
useradd -M -s /sbin/nologin nginx

2.1.2:使用systemctl控制

vim /lib/systemd/system/nginx.service		'//添加使用systemctl工具进行管理'
[Unit]
Description=nginx	'//描述'
After=network.target	'//描述服务类别'

[Service]
Type=forking	'//后台运行形势'
PIDFile =/usr/local/nginx/logs/nginx.pid	'//PID文件位置'
ExecStart=/usr/local/nginx/sbin/nginx		'//启动服务'
ExecReload=/usr/bin/kill -S HUP $MAINPID	'//根据PID重载配置'
ExecStop=/usr/bin/kill -S QUIT $MAINPID		'//根据PID终止进程'
PrivateTmp=true

[Install]
WantedBy=multi-user.target


chmod 754 /lib/systemd/system/nginx.service

2.1.3:开启nginx,关闭防火墙

[root@localhost system]# chmod +754 nginx.service 
[root@localhost system]# systemctl start nginx.service 
[

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;