1. LNMP架构介绍

  • LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
    Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

    • Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
    • Mysql是一个小型关系型数据库管理系统。
    • PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
      这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
  • 原理:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。

2. 进行简单的lnmp架构搭建

所用源码包版本如下:

 mysql-boost-5.7.11.tar.gzphp-5.6.35.tar.bz2nginx-1.10.1.tar.gz

1. 进行数据库的编译安装

先安装cmake

  • CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
    —以上来自于百度百科
 [root@server10 mnt]# yum install cmake-2.8.12.2-4.el6.x86_64.rpm

解决数据库编译所需要的依赖性

 [root@server10 mnt]# yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake

解压源码包后,进行编译

参数解释:

    #安装目录  -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
    #数据库存放目录  -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \
    #Unix socket 文件路径  -DWITH_MYISAM_STORAGE_ENGINE=1 \
    #安装 myisam 存储引擎  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    #安装 innodb 存储引擎  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    #安装 archive 存储引擎  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    #安装 blackhole 存储引擎  -DWITH_PARTITION_STORAGE_ENGINE=1 \
    #安装数据库分区  -DENABLED_LOCAL_INFILE=1 \
    #允许从本地导入数据  -DWITH_READLINE=1 \
    #快捷键功能  -DWITH_SSL=yes \
    #支持 SSL  -DDEFAULT_CHARSET=utf8 \
    #使用 utf8 字符  -DDEFAULT_COLLATION=utf8_general_ci \
    #校验字符  -DEXTRA_CHARSETS=all \
    #安装所有扩展字符集  -DMYSQL_TCP_PORT=3306 \
    #MySQL 监听端口  

编译完成,进行make && make install

给机器留有超过 2g的内存与超过20g的硬盘进行make,内存越大,Make越快

Make完成

进行make install

Make insatll完成

编译安装完成,进行对数据库的具体配置

生成mysql的配置文件

编辑配置文件,声明数据位置等信息
vim /etc/my.cnf

创建 mysql 启动脚本,保证其有执行权限
进入:/usr/local/lnmp/mysql/support-files
将 mysql.server 移动到/etc/init.d/

创建mysql 用户

修改 /usr/local/lnmp/mysql 权限

修改环境变量

编辑如下:

对数据库进行初始化
生成/usr/local/lnmp/mysql/data/ ,并生成数据库初始密码

初始化后:

启动数据库,成功

进行安全初始化




安全初始化完成,进行登陆验证

2. 进行PHP的编译安装

解决依赖性

 yum install -y libmcrypt-devel-2.5.8-9.el6.x86_64.rpm libmcrypt-2.5.8-9.el6.x86_64.rpm re2c-0.13.5-1.el6.x86_64.rpm

解压源码包后进行编译

[root@server10 php-5.6.35]# ./configure --prefix=/usr/local/lnmp/php  --with-config-file-path=/usr/local/lnmp/php/etc --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash 


进行make && make install

成功:

进行php配置文件的创建

编辑配置文件,并添加用户

我们在编译时,选择的用户与用户组为nginx ,需要将用户与用户组手动创建,否则无法启动PHP

编辑 php.ini 修改时区

编辑php-fpm.conf 启用PID

生成nginx 启动脚本

启动php ,并查看其监听端口

3. 进行nginx的编译安装

获得nginx 与 nginx-sticky 的源码包进行编译安装

进行安装前准备

编辑 nginx.h

编辑gcc

进行编译安装


编译完成

make && make install

成功

编译安装完成

进行配置

编辑 nginx 配置文件 /usr/local/lnmp/nginx/conf/nginx.conf

编辑 nginx.conf



在系统安全限制目录下声明最大限制数
编辑 /etc/security/limit.conf

添加nginx的环境变量,并启动

编辑 /root/.bash_profile

启动成功,在浏览器查看

编辑nginx 默认发布文件
vim /usr/local/lnmp/nginx/html/index.php
内容如下:

在浏览器进行查看

4. 利用论坛与数据库进行连接

进行论坛的安装


执行unzip 将论坛安装包,解压,解压到nginx 默认发布目录 /usr/local/lnmp/nginx/html

保证数据库开启,然后在浏览器中输入 172.25.21.10/bbs 进行安装

修改权限,此处需要修改目录权限,否则会导致安装出问题

下一步

继续选择下一步

进行安装

进行数据库关联

下一步之前需要为PHP手动引导mysql.sock的位置,否则无法进行安装
修改/usr/local/lnmp/php/etc/php.ini,并重新加载php-fpm

编辑内容如下:



修改完成后,还需要进行mysql数据库目录权限修改

修改完成后点击下一步进行安装

安装完成,进入论坛

登录论坛

在本机数据库进行查看

简单的lnmp架构完成

LNMP架构搭建(源码编译)相关推荐

  1. lnmp架构搭建—源码编译(nginx、mysql、php)

    含义及理解: LNMP = Linux+Nginx+Mysql+PHP:LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL ...

  2. LNMP架构的源码编译

    文章目录 一.安装 Nginx 服务 1.实验前准备 2.安装依赖包 3.创建运行用户 4.编译安装 5.路径优化 6.添加Nginx系统服务 二.安装 MySQL 服务 1.安装Mysql环境依赖包 ...

  3. LNMP架构的搭建--源码编译(MYSQL,PHP,nginx)

    1.基础知识 1. LNMP架构: LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指P ...

  4. LNMP架构的搭建——源码编译(PHP,nginx,Mysql)

    一.源码编译 在企业中,我们常常是需要什么模块才会添加什么模块,而源码编译就可以让我们按需安装. yum安装的优缺点: yum安装的优点:安装东西,方便快捷,特别是不用考虑包依赖. yum安装的缺点: ...

  5. php源码 gd,CentOS7(lnmp环境)php源码编译安装gd库

    源码编译安装php5.6的时候,为投省事,只安装了mbstring和php-fpm扩展,其他的都没有–enable进去.不过如果所有的扩展都enale进去的话,运行configure脚本的时候会崩溃掉 ...

  6. LANMP框架搭建——源码编译

    所需要的源码包: mariadb-5.5.46-linux-x86_64.tar.gz httpd-2.4.9.tar.bz2 php-5.4.26.tar.bz2 nginx-1.8.1.tar.g ...

  7. 团队环境搭建:使用docker快速架构AOSP源码编译环境(谷歌原版)

    文章目录 1. 篇首语 2. 多环境的实现方案 3. docker 部署的基本步骤 4. docker 基础安装 4.1 前置知识 4.2 docker 引擎安装 4.3 添加用户到docker Gr ...

  8. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  9. LNMP架构环境搭建之mysql源码编译安装

    Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...

最新文章

  1. java i18n实例_Java SpringMVC实现国际化整合案例分析(i18n) 专题
  2. Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势
  3. 单位内部一个计算机系统属于,2012年计算机一级MsOffice第五十九套练习题及答案解析...
  4. 购物车的功能——CSS源码
  5. CentOS下mysql数据库常用命令总结
  6. 挂载硬盘问题:mount: wrong fs type, bad option, bad superblock on /dev/sdb,
  7. Scintilla开源库使用指南(一)
  8. roundcube邮箱手机端_手机QQ邮箱在哪里找
  9. 谈程序猿的技术能力(Technology)和工程能力(Engineering)
  10. ireport导出pdf记录
  11. Python+Miner解析PDF
  12. 万豪国际集团亚太第800家酒店正式开业
  13. 使用pstack命令为空的原因与解决
  14. css控制英文字母的大小写
  15. 今天给大家推荐一个可视化库:cutecharts,我把她叫做pyecharts的妹妹
  16. 基于用户的协同过滤算法详解
  17. JSP语言做简易留言板
  18. AutoCAD字库的用法?
  19. LSF_管理软件许可证和其他共享资源
  20. #学习笔记#模板语法

热门文章

  1. Pinterest简介
  2. python剔除st股_如何判断某只股票过去是不是ST股
  3. 在项目中使用FTPClient上传文件遇到550 Fial to change directoty问题
  4. IBM Websphere MQ 使用详解
  5. 苹果笔记本装win10单系统与装win系列系统
  6. ad被锁定的账户_【原创】解决AD账户被莫名其妙的锁定问题
  7. html和css火焰特效,CSS实现火焰特效
  8. 根据epc和ra定位linux kernel panic位置
  9. 群辉 实现多人在线文档编译 nextcloud+onlyoffice
  10. 2022年全球与中国EV继电器市场现状及未来发展趋势