• CentOS安装配置nginx和php


    今天买了台阿里云服务器用于日常开发测试(新人9块钱半年)。系统版本CentOS 6.5 64位。

    首先安装nginx:

    yum install nginx
    

    参考文档:

    在CentOS 6上搭建LNMP环境

    安装完成后,使用 service nginx start 命令启动nginx出现错误

    nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

    解决方法见:

    nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

    编译安装php-5.6.29:

    ./configure --prefix=/usr/local/php --enable-fpm --enable-debug

    (源码安装建议使用 -- prefix 指定安装路径,一方面不会污染系统目录,另一方面卸载方便。)

    提示出错:

    configure: error: xml2-config not found. Please check your libxml2 installation.

    看来缺东西了:

    yum install libxml2-devel

    继续执行:

    ./configure --prefix=/usr/local/php --enable-fpm --enable-debug
    make && make install

    安装成功。

    安装成功后续步骤:

    #复制php.ini
    cp php.ini-development /usr/local/php/lib/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    #运行php-fpm
    /usr/local/php/sbin/php-fpm
    #将php命令加入到全局
    vi /root/.bash_profile 
    #将/usr/local/php/bin 加到后面,用:隔开
    PATH=$PATH:$HOME/bin:/usr/local/php/bin
    #重启
    source /root/.bash_profile

    参考资料:

    centos6.5安装php开发环境

    还有一个问题:由于php是源码安装,因此php-fpm不会加入系统服务。

    解决办法:

    // 进入源码安装目录
    cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm

    现在就可以通过service命令操作php-fpm了。

    参考文章:

    Nginx和PHP-FPM的启动/重启脚本

    接下来还需要做些配置,让nginx能够解析php。

    首先我们给系统添加一个新用户 www。

    useradd www;
    groupadd www;

    修改nginx配置文件(/etc/nginx/nginx.conf)的user项,

    user www www;

    修改php-fpm的配置文件(/usr/local/php/etc/php-fpm.conf),这里主要是修改其中的user、group项。我直接贴下我的配置好了:

    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = notice
    [www]
    user = www
    group = www
    listen = 127.0.0.1:9000
    listen.owner = www
    listen.group = www
    listen.mode = 0660
    pm = static
    pm.max_children = 1
    pm.start_servers = 10
    pm.min_spare_servers = 5
    pm.max_spare_servers = 20

    为了测试nginx能否解析php,我们在 /usr/share/nginx/html 目录下建立一个文件index.php,内容为

    <?php
        echo "this is php index file";
    ?>

    (这个目录下还有个文件index.html,它就对应我们常见的nginx欢迎页)

    最后还要做一件事就是修改nginx的配置文件。你可以直接修改nginx.conf文件,也可以修改conf.d目录下的default.conf文件,当然也可以自己新建文件,只要nginx能够加载到就可以。

    本文直接修改conf.d目录下的default.conf文件。

    核心内容如下:

    server {
        listen       80;
        server_name your_server_name;
        root         /usr/share/nginx/html;
        index index.html index.htm index.php;
    
        location ~ .php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    到这里,所有工作就完成了。

    (如果将index.php放在其他目录,要确保www用户能够访问到这个文件)

    浏览器输入 your_server_name/index.php,就能显示我们刚才创建的index.php文件中的内容了。

  • 相关阅读:
    vue chrome调试工具开启
    mac显示隐藏文件
    mac网络变慢?
    57-文件处理小结
    56-文件修改的两种方式
    54-with管理文件操作上下文
    53-文件的三种打开方式
    51-基本文件操作
    50-Python2和3字符编码的区别
    49-字符编码
  • 原文地址:https://www.cnblogs.com/gattaca/p/6234534.html
Copyright © 2020-2023  润新知