[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建
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
这两个命令查看后发现都是正常的,那应该是防火墙给阻拦了,我使用service iptables stop 关闭掉了防火墙,这时候访问ip,nginx的测试页面就出现了,说明确实是防火墙问题,我要开放防火墙的80端口,iptables的开放端口配置文件是/etc/sysconfig/iptables,我复制了它自带的那条22端口的规则,改成80,保存后,service iptables start,这个时候访问也是正常的了。


绑定域名
我想通过域名来访问这个站点,比如我访问http://www.qingguow.cn,可以查看到服务器上的站点目录,这个时候就要配置nginx来绑定域名了。进入目录/etc/nginx/conf.d,复制自带的配置文件virtual.conf,改成了www.qingguow.cn.conf,注意后缀一定要是.conf,编辑这个配置文件,重启一下nginx。
server {
listen ;
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的文件了,浏览器也会提示你这个域名被重定向了

此时我可以去看下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

这个版本还是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 ;
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:;#指定FastCGI服务器监听端口与地址
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#指定脚本的路径
include fastcgi_params;#加载一些参数,这个文件已经存在了
}
}
新建一个index.php的文件,使用phpinfo()函数打印看看php的参数情况,浏览器中访问,是正常的。

安装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环境就搭完了。
[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建的更多相关文章
- [Linux] PHP程序员玩转Linux系列-搭建代码开发环境
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...
- [Linux] PHP程序员玩转Linux系列-备份还原MySQL
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 前几天有个新闻,说是g ...
- [Linux] PHP程序员玩转Linux系列-自动备份与SVN
我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保 ...
- [Linux] PHP程序员玩转Linux系列-nginx初学者引导
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-telnet轻松使用邮箱
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- [Linux] PHP程序员玩转Linux系列-升级PHP到PHP7
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
随机推荐
- 概率dp初探
论文链接: http://wenku.baidu.com/link?url=vEcfxpqAvGRf6JL9IL2R6v8plBgPnaP3tKp5niOBmoajk0y4CcpwFzL4SkfGS ...
- 【转】图片缓存之内存缓存技术LruCache、软引用 比较
每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧.这篇博文要讲的图片缓存机制,我接触到的有两钟,一 ...
- HNU 13081 Even Up Solitaire解题报告
题目大意:给定一个数组,若相邻的两个数之和为偶数,则将此两个数移除,通过这种方法将满足条件得数移除后数组还剩多少个数. 此题太水,不做解释.直接代码之: #include <stdio.h> ...
- eclipse修改主题配色
1.Java-->Editor---> Syntax Coloring修改类中的各种代码颜色 2.General-->Editors --->Text Editors
- Java中两个List对比的算法
Java中两个List对比的算法: // 测试数据 // tdcsDdt.add("Z"); // tdcsDdt.add("B"); // tdcsDdt ...
- Bootstrap入门(十)组件4:按钮组与下拉菜单结合
Bootstrap入门(十)组件4:按钮组与下拉菜单结合 先引入本地的CSS文件和JS文件(注:1.bootstrap是需要jQuery支持的.2.需要在<body>当中添加) < ...
- RIP 相对寻址
知识共享许可协议本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/rip-relative-addressing 本博客 ...
- puppet来管理文件和软件包
puppet来管理文件和软件包 1 exec的使用,可以运行shell命令 为配置文件添加配置,指示写了关键部分,其他配置省略没写 代码示例如下: [root@pup manifests]# cat ...
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...
- HDU4738(割边)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...