在lnmp环境下如何开发php程序,[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

搜索热词

PHP程序员玩转Linux系列-怎么安装使用CentOS

在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装Nginx,PHP,MysqL这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目。CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点。包安装方式就一个关键单词就是yum。

解决找不到Nginx包的问题

我先安装一下web服务器Nginx,按好这个软件,他就可以监听80端口,绑定域名,提供web服务,就能在浏览器访问我们的项目。我使用命令 yum install Nginx ,此时报错No package Nginx available,这是没有这个包啊,这个时候需要安装一下企业Linux扩展包epel,使用命令yum install epel-release,然后从新试一下安Nginx,这个时候就可以安装了,并且解决了依赖问题。使用service Nginx start开启Nginx

epel-Nginx

service Nginx start

解决web服务无法ip访问的问题

此时我打开windows的浏览器,访问我上一篇设置的地址:http://192.168.2.100 ,无法访问到,遇到这种情况,我先使用ps命令查看一下Nginx的进程是否开启,然后使用netstat命令查看一下80端口是否监听

aux|Nginx

netstat-altupn|

这两个命令查看后发现都是正常的,那应该是防火墙给阻拦了,我使用service iptables stop 关闭掉了防火墙,这时候访问ip,Nginx的测试页面就出现了,说明确实是防火墙问题,我要开放防火墙的80端口,iptables的开放端口配置文件是/etc/sysconfig/iptables,我复制了它自带的那条22端口的规则,改成80,保存后,service iptables start,这个时候访问也是正常的了。

a4626ed00a7b4a44ba2e865eebaab1c3.png

e031e40b1fd280df83e987d856df6467.png

绑定域名

我想通过域名来访问这个站点,比如我访问http://www.qingguow.cn,可以查看到服务器上的站点目录,这个时候就要配置Nginx来绑定域名了。进入目录/etc/Nginx/conf.d,复制自带的配置文件virtual.conf,改成了www.qingguow.cn.conf,注意后缀一定要是.conf,编辑这个配置文件,重启一下Nginx。

location /

root

/usr/local/

index index.html index.htm;

}

}

我在/usr/local/web目录下新建了个index.html的文件,里面随便写了一句话,修改一下windows的host文件,把域名指向到我的虚拟机ip

192.168.2.100  www.qingguow.cn

此时我直接访问域名就能看到刚才的那个index.html的文件了,浏览器也会提示你这个域名被重定向了

3047261bc06b3ec7e7cb29c17ef9ed54.png

此时我可以去看下Nginx的访问和错误日志,默认是/var/log/Nginx/access.log,使用tail -f这个命令,可以实时监看这个日志文件

tail -f /var/log/Nginx/access.log ,这个可以帮助我知道,此时Nginx确实是运行正常的。

安装并配置PHP

我在刚才的目录下新建了个index.PHP的文件,直接访问这个文件,浏览器会弹出下载框,文件被直接下载了,这个时候就要安装PHP了

PHP

#查看一下版本

PHP-v

4524685757399057ba285da1666ba8b1.png

这个版本还是PHP 5.3已经非常老了,稍后我会去写升级PHP。这个时候PHP已经安装成功了,但是还没有和Nginx进行搭配起来,还需要安装PHP-fpm

PHP-PHP-PHP-fpm start

此时PHP-fpm已经开启了,并且默认监听9000端口,配置Nginx来支持PHP,编辑www.qingguow.cn.conf,改成如下配置文件。配置文件中应该注意这样几点:

1. root指令提到location指令外面来,解决file not found错误

2. fastcgi_pass指令,Nginx连接fastcgi

3. fastcgi_param SCRIPT_FILENAME指定这个参数,也是解决file not found错误

4. file not found错误时,Nginx的error.log错误日志是FastCGI sent in stderr: "Primary script unknown",搜索这个就能找到解决方法

5. 遇到错误时,一定要看错误日志,然后再去对症搜索。

/usr/local//PHP;

}

location ~PHP {

fastcgi_pass .:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#指定脚本的路径

include fastcgi_params;#加载一些参数,这个文件已经存在了

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值