编译LNMP Linux+Nginx+MySql+PHP环境

前言:整理自己编译LNMP环境的过程,有参考网上资料,刚开始接触linux是学习燕十八老师的linux教程。

首先你需要掌握基本的linux命令,然后需要安装一个linux系统如centos,这里忽略安装系统的过程。

本教程环境基于阿里云ECS,centos6.8 64位

阿里云ECS

 

编译nginx

1.下载 state版本

地址  http://nginx.org/en/download.html


# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.12.1.tar.gz

2. 解压

# tar zxf nginx-1.12.1.tar.gz

3.编译

# cd nginx-1.12.1
# ./configure --prefix=/usr/local/webserver/nginx

:webserver是自定义目录,可忽略

如图提示缺少pcre库,则从https://ftp.pcre.org/  下载pcre库并保存在src下

# wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
# tar zxf pcre-8.41.tar.gz
# cd pcre-8.41
# ./configure --priefix=/usr/local/webserver/pcre/

 

如图提示缺少C++库,则安装c++库

# yum install -y gcc gcc-c++

 

然后再安装pcre

# ./configure --priefix=/usr/local/webserver/pcre/
# make && make install

 

此时,pcre 安装完成,继续安装nginx

# ./configure --prefix=/usr/local/webserver/nginx --with-pcre=/usr/local/src/pcre-8.41

 

如图提示缺少zlib库,则从http://zlib.net/ 下载zlib

# wget http://zlib.net/zlib-1.2.11.tar.gz
# tar zxf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure --prefix=/usr/local/webserver/zlib
# make && make install

 

此时,zlib 安装完成,继续安装nginx

注意:pcre,zlib需要引用源代码,不是安装路径

# ./configure --prefix=/usr/local/webserver/nginx --with-pcre=/usr/local/src/pcre-8.41 --with-zlib=/usr/local/src/zlib-1.2.11

# make && make install

 

启动nginx

# ./sbin/nginx

 

测试,浏览器输入访问ip地址,如下图则成功

 

编译php5.6.30

首先执行下面命令

# yum install gd openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel

 

结果如下图

1.下载

地址   http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror

 

2. 解压

下载的是mirror文件,如下处理

# mv mirror php-5.6.30.tar.gz
# tar zxf php-5.6.30.tar.gz

 

3.编译

# ./configure --prefix=/usr/local/webserver/php5 \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm

 

如图

 

# make && make install

 

注:这个过程时间比较久

–enable-fpm 是让PHP作为独立的进程来运行(默认占用9000端口)

# cd /usr/local/webserver/php5
# cp etc/php-fpm.conf.default etc/php-fpm.conf
# cp /usr/local/src/php-5.6.30/php.ini-development ./lib/php.ini
# ./sbin/php-fpm

 

修改datetime,启动php

# ../php5/sbin/php-fpm

 

整合Nginx和PHP

vim /usr/local/webserver/nginx/conf/nginx.conf

根据实际情况修改,例:

也可以如下方式

让Nginx最新配置生效

# ./sbin/nginx -s reload

 

在nginx/html/下建立文件phpinfo,ip访问,如图,整合成功

 

编译MySql

1. 下载

http://ftp.nchu.edu.tw/Unix/Database/MySQL/Downloads/

# wget  http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz
# tar zxf mysql-5.5.54-linux2.6-x86_64.tar.gz

 

2. 编译安装

# groupadd mysql
# useradd -g mysql mysql
# cd /usr/local/webserver/mysql5.5/
# chown -R mysql .
# chgrp -R mysql .

# ./scripts/mysql_install_db --user=mysql

 

# chown -R root .
# chown -R mysql data
# mkdir /var/run/mysqld
# chown mysql /var/run/mysqld
# chgrp mysql /var/run/mysqld
# ./bin/mysqld_safe --user=mysql &

 

3. 连接测试

# ./bin/mysql -uroot

 

如果如下错误—这个错误很常见
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

解法1: 建立软连接

# ln /var/lib/mysql/mysql.sock /tmp/mysql.sock

 

解法2: mysql –help

# ./bin/mysql --help|grep sock

# ./bin/mysql -S /var/lib/mysql/mysql.sock

 

4.mysql修改密码

mysql> update user set Password=password('123456') where Host='localhost' and User='root';
mysql> delete from user where Password='';
mysql> flush privileges;

 

0 条评论
发表一条评论