• lnmp环境的搭建


    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 80

    这两个命令查看后发现都是正常的,那应该是防火墙给阻拦了,我使用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       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的文件了,浏览器也会提示你这个域名被重定向了

    此时我可以去看下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       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的参数情况,浏览器中访问,是正常的。

    安装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
  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/6422506.html
Copyright © 2020-2023  润新知