设为首页 收藏本站
查看: 826|回复: 0

[经验分享] [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

[复制链接]

尚未签到

发表于 2017-12-30 19:24:19 | 显示全部楼层 |阅读模式
  1.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
  

yum install epel-release  

yum install nginx  
service nginx start
  

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

ps aux|grep nginx  
netstat
-altupn|grep 80  

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

DSC0001.jpg

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

server {  listen
80;  server_name  www.qingguow.cn;
  

  location
/ {  root
/usr/local/web;  index  index.html index.htm;
  }
  
}
  

  我在/usr/local/web目录下新建了个index.html的文件,里面随便写了一句话,修改一下windows的host文件,把域名指向到我的虚拟机ip
  192.168.2.100  www.qingguow.cn
  此时我直接访问域名就能看到刚才的那个index.html的文件了,浏览器也会提示你这个域名被重定向了
DSC0002.jpg

  此时我可以去看下nginx的访问和错误日志,默认是/var/log/nginx/access.log,使用tail -f这个命令,可以实时监看这个日志文件
  tail -f /var/log/nginx/access.log ,这个可以帮助我知道,此时nginx确实是运行正常的。
  安装并配置PHP
  我在刚才的目录下新建了个index.php的文件,直接访问这个文件,浏览器会弹出下载框,文件被直接下载了,这个时候就要安装PHP了
  

yum install php  
#查看一下版本
  
php
-v  

DSC0003.jpg

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

yum install php-fpm  
#开启php
-fpm  
service 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. 遇到错误时,一定要看错误日志,然后再去对症搜索。
  

server {  listen
80;  server_name  www.qingguow.cn;
  root
/usr/local/web;  location
/ {  index  index.html index.htm index.php;
  }
  

  location
~ \.php {  fastcgi_pass
127.0.0.1:9000;#指定FastCGI服务器监听端口与地址  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#指定脚本的路径
  include fastcgi_params;#加载一些参数,这个文件已经存在了
  }
  
}
  

  新建一个index.php的文件,使用phpinfo()函数打印看看php的参数情况,浏览器中访问,是正常的。
DSC0004.jpg

  安装mysql数据库
  接下来我要再安装上mysql数据库,这个我就能使用PHP去连接和使用mysql数据库了。我要安装mysql和mysql-server一个是客户端,一个服务端,默认安上的mysql数据库,用户名是root,密码是空,这可不怎么安全,当然现在这个数据库只能我们本地去连,无法远程连接,也没啥问题,稍后再去处理增加用户和修密码的问题。
  

#安装客户端  

yum install mysql  
#安装服务端
  

yum install mysql-server  
#开启mysql服务
  
service mysqld start
  
#连接数据库
  
mysql
-hlocalhost -uroot -p  

  这个时候,lnmp环境就搭完了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429979-1-1.html 上篇帖子: php base64_encode和base64_decode 编码/解码url 下篇帖子: [PHP]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表