docker-compose搭建discuz论坛

1、下载discuz

https://gitee.com/3dming/DiscuzL/attach_files

2、目录结构

 

3、docker-compose内容

docker-compose.yaml

version: '3'

services:

  nginx:

    container_name: discuz_nginx

    image: leleos/nginx:1.15.7-alpine

    volumes:

      - /etc/localtime:/etc/localtime

      - ./web:/usr/share/nginx/html:rw

      - ./conf/nginx.conf:/etc/nginx/nginx.conf:rw

      - ./conf/fcgi-host.conf:/etc/nginx/fcgi-host.conf:rw

      - ./log:/var/log/nginx:rw

    restart: always

    links:

      - php

    ports:

      - 8080:80

    networks:

      - discuz_test_com

  php:

    container_name: discuz_php

    image: leleos/php-fpm:5.3

    restart: always

    volumes:

      - /etc/localtime:/etc/localtime

      - ./web:/usr/share/nginx/html:rw

      - ./log:/var/log/phplog

    environment:

      NEW_UID: 1000

      NEW_GID: 1000

    networks:

      - discuz_test_com

 

networks:

  discuz_test_com:

4、拷贝discuz论坛代码

cp -r upload/* /data/discuz/web/

5、nginx配置文件,php配置文件

fcgi-host.conf内容:

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

#fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

 

nginx.conf内容

 

user nobody;
worker_processes auto;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
use epoll;
worker_connections 51200;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
client_body_buffer_size 1024k;
large_client_header_buffers 4 32k;
client_max_body_size 500m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60 60;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
fastcgi_intercept_errors on;
tcp_nodelay on;

server_tokens off;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml application/rss+xml application/xhtml+xml application/atom_xml;
gzip_disable "MSIE [1-6].(?!.*SV1)";
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';

server {
listen 80;
index index.html index.htm index.php;
set $subdomain '';
root /usr/share/nginx/html$subdomain;

location ~ .*\.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
include /etc/nginx/fcgi-host.conf;
fastcgi_param DOCUMENT_ROOT /usr/share/nginx/html$subdomain;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$subdomain$fastcgi_script_name;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$ {
expires 30d;
}

location ~ .*\.(js|css)$ {
expires 12h;
}
}

}

6、设置目录权限

chmod -R 777 config

chmod -R 777 data

chmod -R 777 uc_client

chmod -R 777 uc_server

posted @ 2020-08-26 18:29  钱哥的博客  阅读(1214)  评论(0编辑  收藏  举报