(本篇考虑了可能出现的各种错误)
一、在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
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-devel是否已安装了:
yum install pcre-devel
错误:HTTP GZIP模块需要ZLIB库:
yum install zlib
yum install zlib-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
cd php-5.6.3
实际按照你下载的版本来。
切换到解压好的目录进行编译,编译的时候需要加上一些支持,如mysqlnd、ttf、gd等(ps:Apache+PHP的编译安装和nginx+PHP的安装是不同的,
apache一般是把php当做自己的一个模块来启动的,而nginx则是把http请求变量转发给php进程,即将php当做一个独立进程与nginx进行通信,称为 fastcgi运行方式):
./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 libxml2-devel
安装GD模块缺少libpng 与 libpng-devel:
yum install libpng libpng-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//查看正在运行的服务或软件
运行正常就OK了。