美文网首页
ubuntu + php + Nginx + mysql

ubuntu + php + Nginx + mysql

作者: 未来与传说 | 来源:发表于2017-05-08 16:45 被阅读0次

    前置环境

    1. ubuntu 16
    2. nginx 1.10.3
    3. PHP7.0
    4. mysql

    安装nginx

    sudo apt-get install nginx
    如何查看安装目录?
    which nginx # 方法一
    whereis nginx # 方法二

    配置适用于php的nginx

    安装完成后,在nginx目录下找到nginx.conf,这个是它的默认配置文件。可扩展,阅读源码你会发现更多!

    # 一般web服务配置
    server {
            # web服务监听端口
            listen       8080;
            # web使用域名或ip
            server_name  192.168.1.125;
            # web访问路径
            root /var/www/html;
            # 配置规则
            location / {
                index  index.html index.htm index.php l.php;
                #是否打开目录浏览
                autoindex  off; 
                # rewrite 重写
                if (!-e $request_filename) {
                    rewrite  ^(.*)$  /index.php?s=/$1  last;
                    break;
                }
            }
    
            #error_page  404              /404.html;
            # redirect server error pages to the static page /50x.html
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # 设定正向代理
            # 
            #location /www/api  {
            #    proxy_pass   http://127.0.0.1;   #代理IP
            #    proxy_set_header Host $host;     # 代理网站域名 $host=server_name
            #    proxy_set_header  X-Real-IP     $remote_addr;
            #    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            # 设定编译并识别 php文件 ,包括开启pathinfo(此项受安装版本影响)
            location ~ \.php(.*)$  {
                # fastcgi_pass   127.0.0.1:9000;  
                fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO  $fastcgi_path_info;
                fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
                include        fastcgi_params;
            }
        }
    

    访问PHP文件,必须配置好php-fpm文件 , 找到php-fpm配置文件 /etc/php5/fpm/pool.d/www.conf 并打开修改 里面listen = /var/run/php5-fpm.sock 为 listen = 9000;

    安装php7

    apt-get install php7.0
    apt-get install php7.0-fpm
    php -v #查看是否安装成功

    查看php是否能运行成功,编辑 index.php

    <?php  phpinfo(); ?>
    

    提示:
    重新加载 PHP-FPM:service php7.0-fpm reload

    安装php支持库

    1. apt-get -y install php7.0-mysql (php连接mysql,包含PDO等 )
    2. apt-get -y install php7.0-curl ( php端远程请求库 )

    ---------此处是php5版本
    ---------安装 php5-fpm 模块
    apt-get install php5-cgi
    apt-get install php5-fpm
    apt-get install php5-curl (客户端 URL 库函数库)
    apt-get install php5-gd (GD库图像函数库)
    apt-get install php5-mysql (增加对mysql支持)
    apt-get install php5-mcrypt (Mcrypt 加密函数库)
    apt-get install php5-memcache (Memcache客户端)
    apt-get install php5-memcached (Memcache服务端)
    apt-get install php5-dev (开发支持模块)


    配置开启 Gzip
    • 压缩大幅提高页面加载速度
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    #gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary off;
    gzip_disable "MSIE [1-6]\.";
    

    说明:

    第1行:开启Gzip
    第2行:不压缩临界值,大于1K的才压缩,一般不用改
    第3行:buffer,一般不用改
    第4行:用了反向代理的话,末端通信是HTTP/1.0,有这句的话注释了就行了,默认是HTTP/1.1
    第5行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
    第6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
    第7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧
    第8行:IE6对Gzip不怎么友好,不给它Gzip了

    nginx 缓存过期配置

    expire参数接受的值可以是:

    • expires 1 January, 1970, 00:00:01 GMT; //设定到具体的时间
    • expires 60s; //60秒
    • expires 30m; //30分钟
    • expires 24h; //24小时
    • expires 1d; //1天
    • expires max; //max表示过期时间为31 December 2037 23:59:59 GMT
    • expires off; //永远重新读取

    安装Mysql

    apt-get –y install mysql-server  # 此命令仅安装mysql服务,支持php需安装php7.0-mysql
    apt-get –y install mysql-client  # 此命令安装mysql客户端,如类似phpAdmin用于管理mysql的
    

    相关文章

      网友评论

          本文标题:ubuntu + php + Nginx + mysql

          本文链接:https://www.haomeiwen.com/subject/deamtxtx.html