简述源码编译部署 LNMP 架构
LNMP=Linux + Nginx + MySQL + PHP
Nginx 能够选择高效的 epoll(Linux2.6 内核)作为网络 I/O)模型,在高并发连接的情况下,Nginx 是 Apache 服务器不错的替代品,它能够支持高达 50000 个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。
Nginx 官网: http://nginx.org/
nginx 下载地址:http://nginx.org/en/download.html
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版
开源产品,版本命名的常识:偶数为稳定,奇数是测试版或开发版本
Tengine 是由淘宝网发起的开源 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine 的性能和稳定性已经在大型的网站如淘宝网、天猫商城等得到了很好的检验
官网网站:http://tengine.taobao.org/
Nginx 工作原理
1:Nginx 是通过 php-fpm 这个服务来处理 php 文件
2:Apache 是通过 libphp5.so 这个模块来处理 php 文件
Apache 的 libphp5.so 随着 Apache 服务器一起运行,而 Nginx 和 php-fpm 是各自独立运行,所以在运行过程中,Nginx 和 php-fpm 都需要分别启动!
修改 Nginx 配置文件,启动 Nginx 服务,修改 php 配置文件,启动 php-fpm 服务
Nginx 相对于 Apache 的优点:
轻量级,同样是 web 服务,比 Apache 占用更少的内存及资源 ;高并发,Nginx 处理请求是异步非阻塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;高度模块化的设计编写模块相对简单;社区活跃,各种高性能模块出品迅速。
Apache 相对于 Nginx 的优点:
rewrite,比 Nginx 的 rewrite 强大;模块超多,基本想到的都可以找到;少 bug ,Nginx 的bug 相对较多;
存在就是理由,一般来说,需要性能的 web 服务,用 Nginx 。如果不需要性能只求稳定,那就Apache。Nginx 处理动态请求是弱项,一般动态请求要 Apache 去做,Nginx 只适处理合静态网页或反向代理。
查看web服务器类型:显示的 server 字段是可以更改的
[root@centos-70 ~]# curl -l 163.com
部署安装 LNMP
部署 LNMP 架构需要安装依赖包 配好网络源
链接:https://pan.baidu.com/s/1YspPbDin7-K9HFZKXCNc4Q
提取码:1234
yum -y install make gcc gcc-c++ flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel gd freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel unzip libcap lsof
安装 Nginx
1、下载源码包:
在 Nginx 官方下载网站即可下载程序包:www.nginx.org
本次实验,我们采用 nginx-1.18.0 版本。上传 nginx-1.18.0.tar.gz 到 linux 系统上。
或:手动下载: wget http://nginx.org/download/nginx-1.18.0.tar.gz
2、安装 epel 扩展 yum 源
yum install epel-release -y
3、安装 nginx 所需依赖包
yum -y install gcc gcc-c++