Public Repository

Last pushed: 2 months ago
Short Description
nginx+php demo
Full Description

1、下载文件

docker pull wjp328670712/nginx
docker pull wjp328670712/php-fpm

2、创建映射挂在路径

cd /
mkdir docker
cd docker
mkdir nginx
cd nginx
mkdir www #创建根目录
mkdir logs #日志
mkdir conf #配置目录
vim conf/nginx.conf

#nginx进程数,建议设置为等于CPU总核心数
worker_processes  1;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#进程文件
#pid        logs/nginx.pid;
#工作模式与连接数上限
events {
        #单个进程最大连接数(最大连接数=连接数*进程数)
        worker_connections  1024;
        #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; 
        #epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型
        #如果跑在FreeBSD上面,就用kqueue模型
        #use epoll;
}
#设定http服务器
http {
     #文件扩展名与文件类型映射表
     include       mime.types;
     #默认文件类型
     default_type  application/octet-stream;
     #默认编码
     #charset utf-8; 
     #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,
     #对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,
     #以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
     sendfile        on;
     #防止网络阻塞
     #tcp_nopush     on;
     #长连接超时时间,单位是秒
     keepalive_timeout  65;
     #gzip模块设置
     #开启gzip压缩输出
     gzip  on;
     gzip_min_length 1k;
     gzip_buffers 4 16k;
     gzip_http_version 1.1;
     gzip_comp_level 2;
     gzip_types text/plain application/x-javascript text/css applocation/xml;
     gzip_vary on;
     upstream fastcgiserver { #设置后端php-fpm服务器ip及端口
        server fpm:9000;   
        #server 192.168.10.64:9000;
     } 
     #虚拟主机的配置
     server {
         #监听端口
        listen       80;
        #域名可以有多个,用空格隔开
        server_name  localhost 127.0.0.1;
        #charset koi8-r;
    #定义本虚拟主机的访问日志
        #access_log  logs/host.access.log  main;
        location / {
            root   "/www";
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   "/www";
        }
        location ~ \.php$ {
            root   "/www";
            fastcgi_pass   fastcgiserver;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;            
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }
}

#:wq #保存

3、配置运行

【运行php-fpm】
docker run -it --name myapp-php -v /docker/nginx/www:/www -d wjp328670712/php-fpm

【运行Nginx】
docker run -p 80:80 --name myapp-web -v /docker/nginx/www:/www -v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/logs:/wwwlogs --link myapp-php:fpm -d wjp328670712/nginx

Docker Pull Command
Owner
wjp328670712

Comments (0)