简介:

Lnmp 环境的搭建还是非常简单的,之前由于博客迁移等原因,导致丢失了好多博文,这次重新整理记录一下。

Lnmp 即:Linux 、Nginx 、Mysql 、PHP

Lnmp 是一套 Web 环境,Linux 作为底层操作系统,Nginx 提供 web 服务,Mysql 提供数据库服务,PHP 负责解析 PHP 代码。

强烈建议宿主机内存大于、等于 1G ,否则建议还是安装低版本的 Mysql 跟 PHP !!!

一、Nginx

下载地址:http://nginx.org/download/nginx-1.8.0.tar.gz # 现在最新稳定版已经发展到了 1.8.0

shell > yum -y install gcc gcc-c++ make wget zlib-devel pcre-devel openssl-devel

shell > wget http://nginx.org/download/nginx-1.8.0.tar.gz

shell > tar zxf nginx-1.8..tar.gz
shell > cd nginx-1.8.
shell > ./configure --prefix=/usr/local/nginx ; make ; make install # --prefix 参数指定 Nginx 安装路径 shell > /usr/local/nginx/sbin/nginx # 启动 Nginx
shell > netstat -anpt | grep nginx # 确认是否启动
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx shell > curl -I http://127.0.0.1 # 访问成功
HTTP/1.1 OK
Server: nginx/1.8.
Date: Fri, Aug :: GMT
Content-Type: text/html
Content-Length:
Last-Modified: Fri, Aug :: GMT
Connection: keep-alive
ETag: "55c49ed6-264"
Accept-Ranges: bytes shell > iptables -I INPUT -p tcp --dport -j ACCEPT
shell > service iptables save

## 至此 Nginx 就可以外网通过浏览器访问了

二、Mysql ( 传送门:http://www.cnblogs.com/wangxiaoqiangs/p/5336048.html )

三、PHP

下载地址:http://cn2.php.net/distributions/php-5.6.11.tar.gz

shell > yum -y install epel-release
shell > yum -y install gd-devel libtool libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel bzip2-devel libcurl-devel libxslt-devel openssl-devel glibc-devel glib2-devel libmcrypt-devel shell > wget http://cn2.php.net/distributions/php-5.6.11.tar.gz shell > tar zxf php-5.6..tar.gz
shell > cd php-5.6.
shell > ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php \
--with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-gd --with-xsl --with-bz2 --with-zlib --with-curl --with-pear --without-iconv --with-mcrypt \
--with-gettext --with-openssl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir \
--with-libdir=lib64 --enable-ftp --enable-fpm --enable-exif --enable-soap --enable-bcmath --enable-calendar \
--enable-sockets --enable-mbstring --enable-gd-native-ttf --disable-rpath --disable-debug

# 这堆参数怎么说呢: 你也不必太在意,能解决大多数需求,有几个需要解释一下
# --prefix= 指定安装路径
# --with-config-file-path 指定 php.ini 存放位置
# --with-mysql 指定 Mysql 安装路径
# --enable-fpm Nginx 连接 php 全靠这个东西,如果没有它,你的 Nginx 就不能解析 php

shell > make ; make install

shell > cp /usr/local/src/php-5.6./php.ini-production /usr/local/php/php.ini

shell > cp /usr/local/src/php-5.6./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
shell > chmod a+x /etc/init.d/php-fpm shell > cat /usr/local/php/etc/php-fpm.conf.default > /usr/local/php/etc/php-fpm.conf shell > chkconfig --add php-fpm # 加入开机启动
shell > chkconfig --level php-fpm on shell > service php-fpm start # 启动 php-fpm
shell > netstat -anpt | grep php-fpm
tcp 127.0.0.1: 0.0.0.0:* LISTEN /php-fpm

四、让 Nginx 支持 PHP

shell > vim /usr/local/nginx/conf/nginx.conf # 修改配置文件,使其可以解析 PHP

server {
listen ;
server_name localhost; location / {
root html;
index index.php index.html index.htm; # 加入 index.php
} error_page /50x.html;
location = /50x.html {
root html;
} location ~ \.php$ { # 整段注释去掉
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; # 修改为自己的根目录
include fastcgi_params;
}
}

# 当然,这只是让 Nginx 支持 PHP 而已,实际工作中可以还有更多的配置

## 创建测试页面 ( echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/info.php ) , 重启 Nginx 、php-fpm 放问测试!( 好久前测试记得需要 iptables -I INPUT -i io -j ACCEPT )

五、报错汇总:( 记录一些常见的错误及解决方法 )

1、没有安装 gcc 导致报错 ( yum -y install gcc )

checking for OS
+ Linux 2.6.-.el6.x86_64 x86_64
checking for C compiler ... not found ./configure: error: C compiler cc is not found

2、没有安装 pcre-devel 导致报错 ( yum -y install pcre-devel )

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

3、没有安装 zlib-devel 导致报错 ( yum -y install zlib-devel )

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.

# 上面是关于 Nginx 的报错

4、没有安装 gcc-c++ 导致报错 ( yum -y install gcc-c++ )

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

# 上面是关于 Mysql 的报错

5、没有安装 libxml2-devel 导致报错 ( yum -y install libxml2-devel )

configure: error: xml2-config not found. Please check your libxml2 installation.

6、没有安装 bzip2-devel 导致报错 ( yum -y install bzip2-devel )

configure: error: Please reinstall the BZip2 distribution

7、没有安装 libcurl-devel 导致报错 ( yum -y install libcurl-devel )

configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/

8、没有安装 libjpeg-devel 导致报错 ( yum -y install libjpeg-devel )

configure: error: jpeglib.h not found.

9、没有安装 libpng-devel 导致报错 ( yum -y install libpng-devel )

configure: error: png.h not found.

10、没有安装 freetype-devel 导致报错 ( yum -y install freetype-devel )

configure: error: freetype-config not found.

11、没有安装 libmcrypt-devel 导致报错 ( yum -y install epel-release ; yum -y install libmcrypt-devel )

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

12、找不到 libmysqlclient.so.18 导致报错 ( ln -s /usr/local/mysql/lib /usr/local/mysql/lib64 )

configure: error: Cannot find libmysqlclient under /usr/local/mysql/.
Note that the MySQL client library is not bundled anymore!

13、跟上一个错误有连带性,我猜的 ( ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ )

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

14、没有安装 libxslt-devel 导致报错 ( yum -y install libxslt-devel )

configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1. distribution

Lnmp 源码编译安装、常见错误整理的更多相关文章

  1. LNMP源码编译安装(centos7+nginx1.9+mysql5.6+php7)

    1.准备工作: 1)把所有的软件安装在/Data/apps/,源码包放在/Data/tgz/,数据放在/Data/data,日志文件放在/Data/logs,项目放在/Data/webapps, mk ...

  2. Android 源码编译及常见错误及解决方法

    最近要往arm开发板上移植android系统,大大小小的问题遇到了太多太多,都是泪啊.本人初接触嵌入式开发,对问题的根源不是太了解,不过好在每解决一个问题,便记录一下.话不多说,正式罗列问题: hos ...

  3. LNMP源码编译安装

    思路:根据Linux系统以及公司网站系统的信息,选择合适的安装包进行安装 一.查看系统信息 # uname -a                        # 查看内核/操作系统/CPU信息 # ...

  4. lnmp源码编译安装zabbix

    软件安装 Mysql 安装 tar xf mysql-5.7.13-1.el6.x86_64.rpm-bundle.tar -C mysql rpm -e --nodeps  mysql-libs-5 ...

  5. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  6. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  7. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  8. LNMP架构——源码编译安装

    LNMP架构--源码编译安装 1.编译安装nginx服务 2.编译安装mysql服务 3.编译安装php解析环境 1.编译安装nginx服务: systemctl stop firewalld sys ...

  9. 源码编译安装lnmp环境

    一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数 ...

随机推荐

  1. docker学习(一)在centos7上安装与启动docker

    CentOS Docker 安装 1.Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS ...

  2. LOJ2613 NOIP2013 华容道 【最短路】*

    LOJ2613 NOIP2013 华容道 LINK 这是个好题,具体题意比较麻烦可以直接看LINK中的链接 然后考虑我们可能的移动方式 首先我们需要把白块移动到需要移动块S的附近(附近四格) 然后我们 ...

  3. Hadoop简介(1):什么是Map/Reduce

    看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...

  4. Python编码规范和Python风格规范

    一.原因 1.长期的工作中,发现大多数程序员的代码可读性差 2.不同的程序员之间的协作很重要,代码可读性必须很好 3.版本升级时,要基于源码升级 4.不友好的代码会影响python的执行效率 二.基于 ...

  5. Hadoop HDFS 整合 上传 下载 删除

    新建一个Java项目,导入jar,新建一个测试类,编写代码实现文件操作功能: package com.bw.test; import java.io.FileInputStream; import j ...

  6. Dev-C++ 小问题锦集

    C++ project cann't debug Your project does not have debugging information, do you want to enable deb ...

  7. mysql工作流程

    1.connector sql交互语言,php,java等 2.系统管理和控制工具 3.连接池 管理缓冲用户连接,线程处理等需要缓存的需求 4.Sql接口接受sql命令,返回查询结果 5.解释器 sq ...

  8. FC 协议

    FC 协议简介 开发于1988年,最早是用来提高硬盘协议的传输带宽,侧重于数据的快速.高效.可靠传输.到上世纪90年代末, FC SAN 开始得到大规模的广泛应用. FC 协议其实并不能翻译成光纤协议 ...

  9. 【kubernetes】kubectl logs connection refused

    因为启动dashboard报CrashLoopBackOff错误,尝试使用logs去查看日志,结果报错,错误如下: [root@localhost ~]# kubectl -s http://192. ...

  10. POJ 3061 Subsequence(尺取法)

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 18145   Accepted: 7751 Desc ...