欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

云服务器构建LNMP环境遇到的一些问题及解决方法

程序员文章站 2022-06-04 17:50:38
...
    最近又开始对云服务器感兴趣了,打算通过搭建LNMP(Linux+Nginx+MySQL+PHP)环境来提升自身对服务器操作的熟悉.
    在按照教程的步骤,使用编译安装的方法搭建环境时,遇到了一些比较头疼的bug,有些是自己操作出错,也有些是教程某些步骤的省略,还有些服务器本身的问题.
    整整一天,终于将环境搭建好了.

云服务器构建LNMP环境遇到的一些问题及解决方法

    对于在搭建环境过程中遇到的一些问题,并且通过搜索找到了解决方案,想在此记录下来,以后回顾!

配置(./configure)所指定的安装目录不对
nginx启动文件出错
php编译时,服务器报错


文章目录:

  • 云服务器配置
    • 操作系统
    • 软件版本
    • 安装方法
  • 遇到的问题
    • 配置(./configure)所指定的安装目录不对
    • nginx启动文件出错
    • php编译时,服务器报错
  • 参考资料
    • LNMP编译安装教程
    • 使用notepad++转换文本格式
    • linux文本与windows文本之间的转换
    • Nginx官方启动配置文件
    • 编译安装php时遇到virtual memory exhausted
    • Linux ./configure –prefix命令

云服务器配置

腾讯云服务器

操作系统:

CentOS 6.8 64位

LNMP 软件版本

ngxin1.8
mysql5.6 
php5.6

安装方法

编译安装

遇到的问题

配置(./configure)所指定的安装目录不对

云服务器构建LNMP环境遇到的一些问题及解决方法
教程中的配置结果如上图, 和我的不同 /usr/pcre (也是恰好比较细心的看到了)
解决方法:

> ./configure --prefix=/usr/local/pcre 
   //在./configure后面加"--prefix=pathname"

nginx启动文件出错

云服务器构建LNMP环境遇到的一些问题及解决方法
问题描述:

syntax error near unexpected token `esac'
//`esac' 附近的语法出错

出错原因:

1, 文件格式不对 从windows窗口copy过来的代码不是UNIX的文件格式,需要转换格式
    1)使用notepad++工具 编辑->文档格式转换->转换为UNIX格式
    2)使用linux系统中自带的流文本编辑器sed
2, 教程出错 粘贴到网页上时,某些符号被转换了
    " $" " 被错误转换成 " [        DISCUZ_CODE_11        ]quot; "
    //其实这个启动文件原文是nginx官方自己写的,完整版可以自己去官方看看~

php编译时,服务器报错

云服务器构建LNMP环境遇到的一些问题及解决方法

    //问题描述:在编译(make)时,突然中止报错
    virtual memory exhausted: Cannot allocate memory
    make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

    //问题分析:因为云服务器内存不足1G

    //解决方案:在配置语句最后加入"--disable-fileinfo"
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc ...--enable-ctype --disable-fileinfo

云服务器构建LNMP环境遇到的一些问题及解决方法
服务器CPU满载


参考资料:

  1. LNMP编译安装教程
    http://bbs.qcloud.com/thread-10892-1-1.html
    准备–>MySQL–>Nginx–>PHP

  2. 使用notepad++转换文本格式
    http://blog.csdn.net/j790675692/article/details/52474253?locationNum=1&fps=1

  3. linux文本与windows文本之间的转换
    http://blog.csdn.net/kluing/article/details/38224019

  4. Nginx官方启动配置文件
    https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/

  5. 编译安装php时遇到virtual memory exhausted: Cannot allocate memory
    http://blog.csdn.net/hostbus/article/details/17222697
    解决方法:
    将php安装配置文件中加了引号中的配置(不包括引号)“–disable-fileinfo”

  6. Linux ./configure –prefix命令
    http://www.linuxidc.com/Linux/2015-04/115791.htm
    为什么要指定这个安装目录?是为了以后的维护方便,如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文件、都复制到哪里去了—基本上是一塌糊涂。
    用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。