共计 5371 个字符,预计需要花费 14 分钟才能阅读完成。
简介:
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.0.tar.gz
shell > cd nginx-1.8.0
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:80 0.0.0.0:* LISTEN 7520/nginx
shell > curl -I http://127.0.0.1 # 访问成功
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Fri, 07 Aug 2015 12:08:14 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 07 Aug 2015 12:04:38 GMT
Connection: keep-alive
ETag: “55c49ed6-264”
Accept-Ranges: bytes
shell > iptables -I INPUT -p tcp –dport 80 -j ACCEPT
shell > service iptables save
## 至此 Nginx 就可以外网通过浏览器访问了
二、MySQL 安装 (传送门:http://www.linuxidc.com/Linux/2016-03/129643.htm)
三、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.11.tar.gz
shell > cd php-5.6.11
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.11/php.ini-production /usr/local/php/php.ini
shell > cp /usr/local/src/php-5.6.11/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 35 php-fpm on
shell > service php-fpm start # 启动 php-fpm
shell > netstat -anpt | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 71992/php-fpm
四、让 Nginx 支持 PHP
shell > vim /usr/local/nginx/conf/nginx.conf # 修改配置文件,使其可以解析 PHP
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm; # 加入 index.php
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {# 整段注释去掉
root html;
fastcgi_pass 127.0.0.1:9000;
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.32-504.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.0 distribution
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-03/129644.htm