之前有一篇博客写的是lamp的环境搭建,今天来详细介绍一下另外一个模式——lnmp=linux+nginx+mysql+php。
一、在Linux系统下nginx的安装过程,先到http://nginx.org/download/这个网站找到自己需要下载的版本,复制下载的链接地址,这里以nginx-1.6.2为例,在命令行输入命令:
cd /usr/local/src //将安装包下载到/usr/local/src目录下
wget http://nginx.org/download/nginx-1.6.2.tar.gz
下载完成后会在目录下看到一个nginx-1.6.2.tar.gz的安装包,解压安装包:
tar zxvf nginx-1.6.2.tar.gz
解压之后进行安装输入命令:
cd nginx-1.6.2 //切换到解压后的nginx目录
./configure --prefix=/usr/local/nginx //安装到/usr/local目录下
在执行上述命令的时候我的服务器报了一个错误:
上述错误说找不到C编译器,那就给你装个编译器,输入命令:
yum -y install gcc gcc-c++ autoconf automake make
执行完后再使用安装命令 ./configure --prefix=/usr/local/nginx 已经不报上述错误啦,但是又提示了一个新的错误:
HTTP重写模块需要PCRE库,这就要安装PCRE库啦:
yum install pcre
输入命令居然又提示我已经安装了pcre库,Nothing to do...
这时候就要检查一下pcre-devel是否已安装了,同样输入命令:
yum install pcre-devel
执行命令,果然是没有devel,输入y继续安装完成,完成以后再次执行安装命令:
./configure --prefix=/usr/local/nginx
结果事与愿违又报了一个错:
HTTP GZIP模块需要ZLIB库,又是缺少库,按照上面那个套路再走一遍吧,命令:
yum install zlib
提示我Nothing to do...,呵呵哒,继续命令:
yum install zlib-devel
果然又是缺少devel,安装完成后再再次执行安装命令:
./configure --prefix=/usr/local/nginx
这次终于安装完成了,简直一波三折:
最后执行编译命令:
make && make install
nginx的体积比apache小的多,所以编译所需时间也很短.编译完成后切换到/usr/local/nginx目录将看到四个目录:
conf 主要放置配置文件
html 主要放置网页文件
logs 主要放置日志文件
sbin 主要放二进制程序
想启动nginx的话只需要输入命令:
./sbin/nginx
注意:如果你在前面已经安装了apache的话,这时候可能会报一个错误,
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) //这是因为你的80端口已经被占用,启动nginx的时候冲突
netstat -tunlp //查看正在运行的服务或软件
找到占用80端口的软件或者服务将其关闭即可,之后再输入./sbin/nginx 命令,如果人品正常的话应该已经正常启动了.
二、yum安装MySQL:
yum install mysql mysql-devel mysql-server
这个没啥好说的,一路y安装下来即可
三、安装PHP:
先到PHP官网找到需要的版本将压缩包下载下来,这里以php-5.6版本为例上传到服务器/usr/local/src/目录下,进入到命令行模式,输入命令:
tar zxvf php-5.6.36.tar.gz
解压之后进行编译,编译的时候需要加上一些支持,如mysqlnd、ttf、gd等:
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm
编译时需要注意可能会提示错误,如缺少某些包,这时候像上面安装nginx一样的套路,比如我遇到未找到libxml2的错误,直接命令:
yum install libxml2
提示我Nothing to do...再来一条命令:
yum install libxml2-devel
果然又是缺少devel,安装完成后再次编译,完成后别忘记:
make && make install
编译完成后还要做一些PHP的配置操作:
cp /usr/local/src/php-5.6.36/php.ini-development php.ini-production
cp /usr/local/src/php-5.6.36/php.ini-development ./lib/php.ini
cp etc/php-fpm.conf.default etc/php-fpm.conf
到这里就已经完成了LNMP的搭建,别忘了cd /usr/local/php目录启动PHP:
./sbin/php-fpm
netstat -tunlp