回顾一下这几天自己配置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步骤:

  1. 虚拟机-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环境配置完成~~~撒花花~~~

新手配置LNMP环境教程的更多相关文章

  1. LNMP笔记:阿里云32位 CentOS 5.4 配置 LNMP环境

    最近比较郁闷的是 WordPress大学 服务器故障,由于诸多原因没及时处理,导致10多天无法访问.倡萌也是刚接触服务器环境配置,维护的确力不从心,没办法排查出错误根源,所以只好重置系统盘,重新配置L ...

  2. windows server 2012配置php环境教程

    买了windows系统的服务器(VPS)等之后我们需要一个php环境来搭建自己的项目,这里介绍手工在windows server 2012上面配置php环境的具体步骤,适合使用服务器和VPS等的新手. ...

  3. CentOS中配置LNMP环境打开提示File not found

    在centos系统中配置好php环境了,但是发现能运行html页面并不能运行php文件了,这样我就在gg的帮助下一步不解决了,下面来看问题的具体解决过程.     安装之后测试发现,怎么Html能运行 ...

  4. Tomcat学习笔记 - 错误日志 - Tomcat安装版安装后第二次启动后闪退(转)-- javac不是内部或外部命令 -- 配置java环境教程

    如果安装成功并且安装完成第一次启动是成功的,第二次就闪退的话,原因之一是没有配置java的环境.在网上找的配制方法有很多错误,测试javac命令时候会提示不是内部或外部命令,找到一个正确的教程.如下, ...

  5. Linux的学习--配置LNMP环境

    最近,回到公司,发现电脑都换成linux系统了...很无力... 配置环境,跑起项目来就花了一天...额...在这里记录一下-- 系统是ubuntu 12.04. 一.安装nginx1:ubuntu因 ...

  6. 【安装eclipse, 配置java环境教程】 编写第一个java程序

    写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即java SE:否则无法运 ...

  7. RedHat6.2 x86手动配置LNMP环境

    因为公司要求用RedHat配,顺便让我练习一下Linux里面的操作什么的. 折腾来折腾去终于搞好了,其实也没那么难嘛.但是也要记录一下. 首先,是在服务器里面用VMware搭建的RedHat6.2 x ...

  8. Linux配置LNMP环境(二)配置PHP

    前言:本教程安装的PHP版本php-5.6.30(官方最后更新日期2017-01-19),教程编写日期2017-07-02.本教程中的下载地址是在写教程的时候从官方复制的,时间过长可能会有变化. 安装 ...

  9. Linux配置LNMP环境(一)配置Nginx

    注意:配置版本nginx-1.12.0,使用虚拟机安装linux.教程中的下载地址可能有变化.注意(在您看本教程之前首先需要对linux的基本操作熟悉) 1.  先cd到/usr/local/src ...

随机推荐

  1. 机房断电,导致xfs文件系统损坏

    记一次机房断电,导致xfs文件系统损坏处理方法 挂载时报以下错误: mount: mount /dev/sdb on /dev/sdb failed: Structure needs cleaning ...

  2. hibernate笔记

    1.hibernate中的list()遍历方法和iterator()遍历方法之间的区别 1:返回的类型不一样,list()返回List, iterate()返回Iterator,2: 获取数据的方式不 ...

  3. junit4的进一步探讨

    上次只是大概记录了下junit4几个常见标签的用法. 在这篇文章中,我们来进一步分析junit4的用法. 1.断言 junit4中一个很常见的用法就是断言.说到断言,大家再熟悉不过了.不过也许有的朋友 ...

  4. oracle 按每天,每周,每月,每季度,每年查询统计数据

    oracle 按每天,每周,每月,每季度,每年查询统计数据 //按天统计 select count(dataid) as 每天操作数量, sum() from tablename group by t ...

  5. youtobe视频下载

    不用安装,只要把视频地址链接复制过来就好. 1 https://en.savefrom.net/#helper_install 2 https://www.clipconverter.cc/ 3 ht ...

  6. Mscordacwks.dll/SOS.dll 调试归档

    找到个好东西 为什么要归档 此存档提供帮助,并可能提供对以下问题的答案 是否可以使WinDBG在符号存储中找到mscordacwks.dll?, Windbg需要不同版本的mscordacwks.dl ...

  7. Windbg的命令

    前面介绍了Windbg的UI功能,也基本上能完成基本的调试任务,但是WinDBG主要是以命令方式工作的,这些命令在Command Window里输入.WinDBG共支持三类命令:标准命令.元命令和扩展 ...

  8. mybatis-generator 插件

    首先肯定要有mybatis的依赖 <!--mybatis spring--> <dependency> <groupId>org.mybatis.spring.bo ...

  9. JQuery/JS插件 日期插件

    用于日期的计算,功能比较全,我常用的主要是日期的计算(多一天少一天,或者添加几个月等),日期格式化 网址:http://momentjs.cn/ 测试代码: <!DOCTYPE html> ...

  10. 关于集成通用mapper的Mybatis代码生成器产生的model类注解

    主要是@Table.@Id.@GeneratedValue.@Column 4个注解 这四个注解都来自javax.persistence包,是Java持久层规范,单纯的Mybatis并不认识这四个注解 ...