0x01 前言

最近在逛segmentfault的时候发现许多关于LNMP的问题,然后发现我的文章中并没有相关的内容。

在这里做个记录,写下我编译的过程。另外,你也可以参考以下文章:

  1. 编译安装基于 Nginx 与 Lua 的高性能 Web 平台-OpenResty
  2. 使用nginx 反向代理Google fonts & ajax 库
  3. 使用YOURLS搭建短链接服务

0x02 准备

首先需要准备一台centos,准备过程可以参考:

新安装的centos7前期准备

需要开放80端口,如果需要配置HTTPS,还需要开放443端口。然后安装以下软件:

然后下载所需要的源代码:

  1. nginx,这里我使用OpenResty代替,编译函数与nginx一致。下载地址:下载OpenResty
  2. php7,下载地址:下载PHP7

0x03 nginx

安装过程分为三个部分:configure、编译(make)、安装(make install)。

然后检查安装情况:

新建临时文件夹:

最后直接使用以下命令启动:

查看启动情况:

在放行80端口的情况下,可以通过浏览器访问。为了方便管理,我们在nginx目录下建立文件夹并修改nginx.conf文件:

然后检查并重新加载nginx:

然后新建一个虚拟空间:

在test.t.com.ngx.conf中填入以下内容:

最后再次检查配置文件与重新加载nginx:

然后新建一个index.html文件:

最后通过浏览器访问:

0x04 PHP7

编译PHP很简单,但在编译之前需要了解所需要的模块,下面是编译过程:

根据服务器的性能区别,PHP编译的时间可能会很长,要耐心等候。
编译完成后请通过以下命令复制文件到指定位置:

在这里先别急着启动PHP,编译完成后还需要建立虚拟服务。请使用以下命令建立虚拟服务:

添加用户并修改虚拟目录权限:

最后运行php-fpm:

检查php-fpm监听情况:

0x05 整合

当nginx与php都安装配置完毕,即可开始整合两者。在这里只需要修改虚拟空间的配置文件即可:

然后检查nginx配置文件并重新加载:

最后在虚拟目录中新建一个index.php的文件并填入内容:

最后通过浏览器访问:

请注意phpinfo页面中的这一个路径:

我们还需要将php.ini文件创建一个软连接到这个目录中:

刷新phpinfo页面即可看到PHP已经能读取php.ini配置文件:

0x06 mariadb

最后是数据库,这里我选择安装mariadb。

0x07 结语

编译安装过程挺繁琐的,可是自由度高。自己需要的模块可以开启,不需要的就禁用,一切尽在控制中。另外要注意的是mariadb因为源服务器在国外,速度较为缓慢,可以改用清华大学的镜像,具体地址可以在以下文章中找到:

0x08 相关视频

https://www.bilibili.com/video/av11721931/

1 条评论 / 1 comment

Comments are closed.