关于Centos7下搭建LNMP环境的问题小结

实习的第一周,免不了要给未来的开发环境做准备的。在此记录下我自己搭建过程踩到的一些小坑,以便以后鞭策自己,如果你也碰到类似的问题,希望能帮到你。

由于以前都是使用 Ubuntu 的系统,也习惯了使用 apt-get 去装软件。所以以前在 Linux 上装的环境都是很随意的,能跑就行。其实这样不太好,因为使用apt-get装的往往不是你希望的版本,因此很多时候可能需要手动编译源码安装对应版本的软件。我以前是使用 Ubuntu+Apache+ Mysql + PHP(LAMP) 的环境,这次是用Centos+Nginx+Mysql+PHP(LNMP), PHP 要求编译安装 5.6 以上版本。虽然说编译安装 Linux 软件我也试过,当时上操作系统课程也手动编译过 Linux 内核,做过 LFS 的东西,基本编译的过程和指令都是有些了解。但是还是遇到不少问题。

1. 虚拟机安装Centos7最小版本(Centos7 Minimal)

[Centos7-Minimal传送门][1]

第一个坑 :安装后出现 ifconfig 是不存在的指令,而且虚拟机连不上网。

分析:是因为没有识别到网卡,cd 到**/etc/sysconfig/network-script/**目录下,查看发现只有ifcfg-lo,没有ifcfg-eno16777736。

解决方法:

 1. 重新安装虚拟机,在安装界面那里选择 "网络和主机名" ,把网卡开启。问题最终解决。

2. 安装php5.6.0

因为之前是用 apt-get 安装,所以不知道 PHP 需要哪一些依赖库,因此执行安装也是碰到不少问题,具体安装PHP5.6.0。[请参考这个博客进行安装,请点击我][2]

对于 Nginxphp 之间不得不聊下 fastcgi, fastcgi是一个监听IP和端口的进程,fastcgi是一个可伸展,高速地在 http-server 和动态脚本语言之间通信的接口,多数流行的 http-server 都支持它,比如:Apache, nginx 等,也被很多动态脚本支持,比如 PHP。此外,php-fpm是一个fastcgi的进程管理器,能有效控制内存跟进程,并且平滑重载PHP配置。重要一点是,PHP5.3后,php-fpm 被内置到 PHP 里面的内核中,无需配置,默认安装。

第二个坑:Nginx开启后,PHP文件无法访问, PHP文件点击后出现下载情况。

分析:可能是 http-serverphp 通信出问题

解决方法:

 1. 修改 Nginx 的配置文件 nginx.conf 让其支持 php 格式文件。
 2. 可能没开启 php-fpm 服务。

3.关于安装Vmware-tools

在虚拟机菜单栏那里选择 “虚拟机=>安装VMware-Tools”;然后会得到一个VMware-Tools的安装包。

第三个坑:出现VMware-Tools安装失败情况。

分析:少了依赖库,或者人品问题 @_@

解决方法:

1.缺少依赖库情况最大可能。
  指令: 1. yum install gcc make perl fuse fuse-libs kernel-devel open-vm-tools -y
         2. yum install net-tools -y
         3. 编译代码:
           $ mkdir /mnt/cdrom/
           $ mount /dev/cdrom /mnt/cdrom
           $ cp /mnt/cdrom/VMwareTools-10.0.1-3160059.tar.gz ~/
           $ umount /dev/cdrom
           $ cd ~/
           $ tar zxvf VMwareTools-10.0.1-3160059.tar.gz
           $ cd vmware-tools-distrib/
           $ ./vmware-install.pl -d
2.如果方法一失败,有可能是人品问题。那么建议重新编译VMware-Tools,重新安装。极有可能是前面
  编译出问题。    

4. Centos7 虚拟机跟 Windows7 创建共享文件夹

第四个坑:共享文件夹存在 **/mnt/hgfs/**目录下,但是 Nginx指向 hgfs目录时出现访问文件夹目录 “403 Forbidden”,看不到网站根目录下的文件,可是可以执行PHP文件的访问

分析:hgfs没有权限。

解决方法:

 1. 在root用户下使用 chmod -R 777 文件名 给与最高权限。
 2. 在 Nginx的配置文件 nginx.conf 顶部,加上一句 "user root;"。

第五个坑:发现给权限时出现 “不存在 hgfs 文件,不能给与权限” 等类似问题时。

分析: 我也不知道什么鬼问题,由最后解决方法看是防火墙的问题

解决方法:简单粗暴的关闭防火墙,或者使用iptables开放80端口,估计是80端口的问题。iptables是需要 yum安装。

 1. 关闭防火墙的指令: /usr/sbin/setenforce 0
    补充:Centos6.8 是不需要关闭这个防火墙,因为我Centos6.8上没有碰到这个问题。后来查找资料
      才知道,Centos7是默认开启防火墙的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值