回顾一下这几天自己配置LNMP环境踩得坑,希望帮助更多人
前期准备:VMtool、Linux、Nginx、Mysql、PHP、cmake
版本如下:Centos6、nginx1.6.0、mysql5.5.22、php5.3.28
#需要4个软件包:Nginx、Mysql、Php、cmake#
链接:https://pan.baidu.com/s/1q3Os1KOCBKnNf6FF6Ir1SQ
提取码:s8py
一、安装VMware tool
使用:VMware tool
VMware tool步骤:
- 虚拟机-VMware tools-桌面找到CD/DVD文件
出现问题:桌面的VMware tools,打开后盘是灰色的,里面没有文件。
问题原因:虚拟机自带的liunx.iso是显卡驱动而不是liunx系统映像,必须自己重下载liunx系统,在把目录改成自己的liunx就好了
解决方式:
- 在虚拟机安装目录下找到linux.iso文件(如果找不到,可以直接搜索);
- 将这个文件拷贝到,你装centos系统的iso文件目录下(或直接把centos系统的iso文件拷到了虚拟机安装目录下);
- 打开虚拟机,点击虚拟机>设置->CD/DVD(SATA),将使用的ISO镜像文件改为linux.iso文件,点击确定
- 再次点击安装VMware tools,就会出现VMware tools压缩包及相关文件
- 接下来可以进行VMware tools的安装了
2.点击桌面VMware tools,找到压缩包,点击上方解压缩,选择解压到桌面上,会生成vmware-tools-distrib文件夹。
3.打开终端,进入管理员模式,把文件夹移到root文件夹中:
mv vmware-tools-distrib /root/
4.进入vmware-tools-distrib目录
cd /root/vmware-tools-distrib
./vmware-install.pl
5.一路回车,直至提示Enjoy,-- the VMware team,安装完成
二、配置yum
1.安装wget
yum -y install wget
2.备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.back
3.下载阿里云-开发者centos-6.repo文件
链接:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.164b2f70MSWNVz
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4.重新加载yum
yum clean all
yum makecache
5.检查yum是否运行正常
- 安装yum后,查看安装包
rpm -qa | grep yum
- 输入yum,查看相关参数说明,有出现则说明运行正常。
三、配置Nginx
1.卸载相关的软件包
rpm -e httpd --nodeps
rpm -e httpd-manual --nodeps
rpm -e webalizer --nodeps
rpm -e subversion --nodeps
rpm -e mod_python --nodeps
rpm -e mod_ssl --nodeps
rpm -e mod_perl --nodeps
2.安装支持包
yum -y install pcre-devel
yum -y install zlib-devel
3.创建nginx用户
useradd -M -s /sbin/nologin nginx
4.解压nginx源码包
tar zxf /root/lnmp/nginx/nginx-1.6.0.tar.gz -C /usr/src/
5.配置nginx
cd /usr/src/nginx-1.6.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
6.编译及安装
make && make install(&&表示&&前面的命令执行成功了才会执行&&后面的命令)
7.优化Nginx命令的执行路径
ln -s /usr/local/nginx/sbin/* /usr/local/sbin
8.检测配置文件
nginx -t
9.启动nginx服务,并查看运行端口
nginx
netstat -anpt | grep nginx
出现80,意味着成功
四、配置Mysql
1.卸载Linux系统自带的mysql软件包
rpm -e mysql-server
rpm -e mysql
2.安装支持包
yum -y install ncurses-devel
3.安装cmake工具
- 解压并配置cmake
tar zxf /root/lnmp/mysql/cmake-2.8.6.tar.gz -C /usr/src/
cd /usr/src/cmake-2.8.6
./configure
- 编译并安装cmake
make && make install
4.创建mysql用户
useradd -M -s /sbin/nologin mysql
5.解压mysql源码包
tar zxf /root/lnmp/mysql/mysql-5.5.22.tar.gz -C /usr/src
6.配置mysql
cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
选项含义如下
-DCMAKE_INSTALL_PREFIX= 指定mysql的安装路径
-DSYSCONFDIR= 指定mysql配置文件的所在目录
-DDEFAULT_CHARSET 指定默认的字符集
-DDEFAULT_COLLATION= 指定字符集的默认排序
-DWITH_EXTRA_CHARSETS= 支持扩展字符集
7.编译并安装mysql
make && make install
8.修改mysql安装目录的所有者权限
chown -R mysql:mysql /usr/local/mysql
9.删除默认的mysql配置文件,拷贝生成新的配置文件
rm -rf /etc/my.cnf
cp support-files/my-medium.cnf /etc/my.cnf
ls | grep my.cnf
10.初始化mysql数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
11.修改环境变量PATH,将mysql命令追加到默认搜索路径中,并重定向到/etc/profile
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
12.重新加载环境变量
. /etc/profile
13.优化mysql执行路径
ln -s /usr/local/mysql/bin/* /usr/local/bin
ln -s /usr/local/mysql/lib/mysql/* /usr/lib/
ln -s /usr/local/mysql/include/mysql/* /usr/include/
14.生成mysql启动脚本,并赋予执行权
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
15.将mysql服务添加到开机自启动中
chkconfig --add mysqld
16.启动mysql服务,并查看运行端口
service mysqld start
netstat -anpt | grep mysqld
17.登录mysql
mysql -u root -p
密码为空
18.修改密码
set password for root@localhost = password(“密码”);
五、配置PHP
1 卸载默认的php相关软件包
rpm -e php --nodeps
rpm -e php-cli --nodeps
rpm -e php-ldap --nodeps
rpm -e php-common --nodeps
rpm -e php-mysql --nodeps
2 安装支持包(用于支持图片处理功能)
yum -y install gd
yum -y install libxml2-devel
yum -y install libjpeg-devel
yum -y install libpng-devel
3.安装php
- 解压安装包并配置
tar zxf /root/lnmp/php/php-5.3.28.tar.gz -C /usr/src/
cd /usr/src/php-5.3.28/
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
选项含义如下:
–prefix=/usr/local/php5 指定php的安装路径
–with-gd 安装jd库(用于处理图片)
–with-zlib 安装zlib库(实现页面压缩)
–with-mysql=/usr/local/mysql 指定mysql路径
–with-config-file-path=/usr/local/php5 指定php配置文件路径
–enable-mbstring 开启多字节字符库(支持中文)
–enable-fpm 开启fpm功能(FastCGI功能,支持高负载动态网站进程管理)
–with-jpeg-dir=/usr/lib 指定jpeg图片处理链接库路径
- 安装并编译
make && make install
4.拷贝生成php配置文件php.ini
cp php.ini-development /usr/local/php5/php.ini
5.优化php的执行命令
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
6.修改php.ini文件
vim /usr/local/php5/php.ini
修改内容如下:
7.解压ZendGuardLoader文件
tar zxf /root/lnmp/php/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
cp ZendGuardLoader.so /usr/local/php5/lib/php
8.在php.ini文件中增加Zend功能(PHP加速)
vim /usr/local/php5/php.ini
在配置文件末尾添加如下内容
zned_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable = 1
9.拷贝生成fpm的配置文件
cd /usr/local/php5/etc/
ls
cp php-fpm.conf.default php-fpm.conf
10.创建php用户
useradd -M -s /sbin/nologin php
11.修改php-fpm.conf配置文件,使其支持动态网站功能
vim /usr/local/php5/etc/php-fpm.conf
修改如下内容
12.启动php-fpm服务,并查看运行端口
/usr/local/php5/sbin/php-fpm
netstat -anpt | grep php-fpm
13.修改Nginx启动脚本,使系统能识别Nginx服务
配置nginx的启动脚本,由于nginx不像apache一样有配置脚本,因此需要在init.d目录下建立一个nginx来写启动脚本。(因此打开nginx后是一个新文件)
vim /etc/init.d/nginx
添加如下内容
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM=`netstat -anpt | grep 9000 | awk '{print $7}' | awk -F/ '{print $1}'`
case "$1" in
start)
$PROG
$PROG_FPM
;;
stop)
kill -s QUIT $(cat $PIDF)
kill -s QUIT $PIDF_FPM
;;
restart)
kill -s QUIT $(cat $PIDF)
kill -s QUIT $PIDF_FPM
$PROG
$PROG_FPM
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
14.修改nginx.conf,让其支持php解析功能
cd /usr/local/nginx/conf/
vim /usr/local/nginx/conf/nginx.conf
修改内容如下
location ~ .php$ {
root html; #指定动态网站的根目录(默认html目录,该目录的完整路径为:/usr/local/nginx/html)
fastcgi_pass 127.0.0.1:9000; #指定侦听环回地址及端口
fastcgi_index index.php; #指定默认主页文件(php页面)
include fastcgi.conf; # 指定fastcgi的配置文件
}
15.添加Nginx服务到系统,使其开机后自动运行
chmod +x /etc/init.d/nginx
chkconfig --add nginx
service nginx restart
chkconfig nginx on
netstat -anpt | grep nginx
16.建立PHP功能测试网页index.php
gedit /usr/local/nginx/html/index.php
17.建立mysql功能测试网页test.php
gedit /usr/local/nginx/html/test.php
18.在浏览器上输入http://localhost测试Nginx
如果不出现该界面,是linux和windows防火墙的问题,关闭即可
- linux防火墙关闭:
查看防护墙,得到信息说明开着
/etc/init.d/iptables status
关闭防火墙:
/etc/init.d/iptables stop
关闭防火墙服务开机自启动:
chkconfig --levels 35 iptables off
- windows防火墙关闭:
1)打开控制面板,点击“系统和安全”选项。然后打开“Windows防火墙”。
2)点击进入“高级设置”,选择“入站规则”。
3)在入门规则中找到“文件和打印机共享(回显请求-ICMPv4-In)”选项,看是有两项,都是未启用。
分别在两项上右键,选择“启用规则”。
在虚拟机系统中ping本机的ip
修改完成后,再回到虚拟机系统中,在终端中输入命令:ping 主机IP地址
可以看到已经可以正常ping通了。
19.在浏览器上输入http://localhost/index.php测试PHP
表明PHP配置正确!
至此 LNMP环境配置完成~~~撒花花~~~