• 【精选】Ubuntu 14.04 安装Nginx、php5-fpm、ThinkPHP5.0(已经测试上线)


    sudo apt-get update

    安裝Nginx

     https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04

    安裝完成後,Nginx的安装在/usr/local/nginx底下

    安裝PHP

    sudo apt-get install php5-fpm

    修改PHP設定檔/etc/php5/fpm/php.ini,找到cgi.fix_pathinfo=1,將其值改為0:

    cgi.fix_pathinfo=0

    如此PHP的只會處理確切位置的檔案,一來加快速度二來更安全,修改完後重新啟動PHP:

    sudo service php5-fpm restart

    Nginx配置文件

    nginx.conf 文件

    user  www www;
    worker_processes  1;
    
    #pid        logs/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  logs/access.log  main;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
    
            charset utf-8;
            access_log  logs/stream.access.log  main;
            error_log   logs/stream.error.log error;
        
            set $root_path /home/www/tp5/public;
            root $root_path;
            index  index.php index.html;
            location / {
                if (!-e $request_filename) {
                    rewrite  ^(.*)$  /index.php?s=/$1  last;
                    break;
                }    
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            location ~ .php$ {
            try_files $uri =404;
                #root           html;
            fastcgi_pass   unix:/var/run/php5-fpm.sock;
                #fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
        }
    }

    完成後重新啟動Nginx:

    sudo service nginx restart

    最後加入info.php檔案到/var/www底下測試,內容如下:

    <?php
    phpinfo();
    ?>

    可使用curl指令測試你的info.php是否產生了相關的回應:

    curl http://127.0.0.1/info.php

    错误处理:

    connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied)

    处理方式是:编辑/etc/php5/fpm/pool.d/www.conf文件,将以下的注释去掉:

    修改前:

    user = www-data
    group = www-data
    
    listen.owner = www-data
    listen.group = www-data
    ;listen.mode = 0660

    修改后:

    user = www
    group = www
    
    listen.owner = www
    listen.group = www
    listen.mode = 0660
    

    然后重启php5-fpm

    sudo service php5-fpm restart

    显示同样的错误!郁闷了

    给www用户组分配权限:

    chown www:www /etc/php5/fpm/php-fpm.conf
    chown www:www /var/run/php5-fpm.sock

    重启php5-fpm

    service php5-fpm restart

    测试页面;测试成功

    ThinkPHP重写后的地址:

    安装pdo和pdo_mysql扩展

    1 安装pdo

      sudo pecl install pdo

    出现以下错误是说明pdo已经加入了PHP的默认安装,不需要再安装了

     [Some stuff excluded for brevity]make: *** [pdo_dbh.lo] Error 1 ERROR: `make' failed

    2 安装pdo_mysql    

    sudo pecl install pdo_mysql   

    以下错误表示在pear中找不到pdo_mysql 驱动,那重新安装php5-mysql看看

    Some stuff excluded for brevity]checking for PDO includes... checking for PDO includes...    configure: error: Cannot find php_pdo_driver.h.ERROR: `/tmp/pear/temp/PDO_MYSQL/configure' failed
    php5-fpm configure: error: Cannot find MySQL header files under

    安装这个:

    apt-get install libmysqlclient15-dev

    3 重新安装php5-mysql

      sudo apt-get install php5-mysql

    4 配置php.ini文件(自行查看编辑文件命令)

      sudo vi /etc/php5/fpm/php.ini

    在最后面加上(本来配置文件是没有的)

    extension = pdo.so    
    extension = pdo_mysql.so
  • 相关阅读:
    继承
    JAVA接口的继承与集合
    JAVA接口
    c++程序—敲桌子
    c++程序—水仙花数
    c++程序—while猜数字游戏
    c++程序—switch分支
    c++程序—三目运算符
    c++程序—if语句实践
    c++程序—选择结构
  • 原文地址:https://www.cnblogs.com/tinywan/p/6485020.html
Copyright © 2020-2023  润新知