Introduction to VPS and Web Technology Development

docker-compose 安装nginx,mysql,php,kafka,rabbitmq,logstash,kibanas yml文件

自由vps 无分类

version: "3"

services:

  nginx:

    build:

      context: ./services/nginx

      args:

        NGINX_VERSION: nginx:${NGINX_VERSION}

        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

        NGINX_INSTALL_APPS: ${NGINX_INSTALL_APPS}

    container_name: nginx

    ports:

      - "${NGINX_HTTP_HOST_PORT}:80"

      - "${NGINX_HTTPS_HOST_PORT}:443"

    volumes:

      - ${SOURCE_DIR}:/www/:rw

      - ${NGINX_SSL_CERTIFICATE_DIR}:/ssl:rw

      - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw

      - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro

      - ${NGINX_FASTCGI_PHP_CONF}:/etc/nginx/fastcgi-php.conf:ro

      - ${NGINX_FASTCGI_PARAMS}:/etc/nginx/fastcgi_params:ro

      - ${NGINX_LOG_DIR}:/var/log/nginx/:rw

    environment:

      TZ: "$TZ"

    restart: always

    networks:

      - default

  php:

    build:

      context: ./services/php

      args:

        PHP_VERSION: php:${PHP_VERSION}-fpm-alpine

        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

        PHP_EXTENSIONS: ${PHP_EXTENSIONS}

        TZ: "$TZ"

    container_name: php

    expose:

      - 9501

    extra_hosts:

      - "www.site1.com:172.17.0.1"

    volumes:

      - ${SOURCE_DIR}:/www/:rw

      - ${PHP_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro

      - ${PHP_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw

      - ${PHP_LOG_DIR}:/var/log/php

      - ${DATA_DIR}/composer:/tmp/composer

    restart: always

    cap_add:

      - SYS_PTRACE

    networks:

      - default

  #  php80:

  #    build:

  #      context: ./services/php80

  #      args:

  #        PHP_VERSION: php:${PHP80_VERSION}-fpm-alpine3.13

  #        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

  #        PHP_EXTENSIONS: ${PHP80_EXTENSIONS}

  #        TZ: "$TZ"

  #    container_name: php80

  #    expose:

  #      - 9501

  #    volumes:

  #      - ${SOURCE_DIR}:/www/:rw

  #      - ${PHP80_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro

  #      - ${PHP80_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw

  #      - ${PHP80_LOG_DIR}:/var/log/php

  #      - ${DATA_DIR}/composer:/tmp/composer

  #    restart: always

  #    cap_add:

  #      - SYS_PTRACE

  #    networks:

  #      - default

  #  php56:

  #    build:

  #      context: ./services/php

  #      args:

  #        PHP_VERSION: php:${PHP56_VERSION}-fpm-alpine

  #        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

  #        PHP_EXTENSIONS: ${PHP56_EXTENSIONS}

  #        TZ: "$TZ"

  #    container_name: php56

  #    expose:

  #      - 9501

  #    volumes:

  #      - ${SOURCE_DIR}:/www/:rw

  #      - ${PHP56_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro

  #      - ${PHP56_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw

  #      - ${PHP56_LOG_DIR}:/var/log/php

  #      - ${DATA_DIR}/composer:/tmp/composer

  #    restart: always

  #    cap_add:

  #      - SYS_PTRACE

  #    networks:

  #      - default

  #  php54:

  #    build:

  #      context: ./services/php54

  #      args:

  #        PHP_VERSION: php:${PHP54_VERSION}-fpm

  #        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

  #        PHP_EXTENSIONS: ${PHP54_EXTENSIONS}

  #        TZ: "$TZ"

  #    container_name: php54

  #    volumes:

  #      - ${SOURCE_DIR}:/www/:rw

  #      - ${PHP54_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro

  #      - ${PHP54_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw

  #      - ${PHP54_LOG_DIR}:/var/log/php

  #      - ${DATA_DIR}/composer:/tmp/composer

  #    restart: always

  #    cap_add:

  #      - SYS_PTRACE

  #    networks:

  #      - default

  mysql:

    image: mysql:${MYSQL_VERSION}

    container_name: mysql

    ports:

      - "${MYSQL_HOST_PORT}:3306"

    volumes:

      - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro

      - ${DATA_DIR}/mysql:/var/lib/mysql/:rw

    restart: always

    networks:

      - default

    environment:

      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"

      TZ: "$TZ"

#  mysql5:

#    image: mysql:${MYSQL5_VERSION}

#    container_name: mysql5

#    ports:

#      - "${MYSQL5_HOST_PORT}:3306"

#    volumes:

#      - ${MYSQL5_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro

#      - ${DATA_DIR}/mysql5:/var/lib/mysql/:rw

#    restart: always

#    networks:

#      - default

#    environment:

#      MYSQL_ROOT_PASSWORD: "${MYSQL5_ROOT_PASSWORD}"

#      TZ: "$TZ"

#  openresty:

#    image:  openresty/openresty:${OPENRESTY_VERSION}

#    container_name: openresty

#    ports:

#       - "${OPENRESTY_HTTP_HOST_PORT}:80"

#       - "${OPENRESTY_HTTPS_HOST_PORT}:443"

#    volumes:

#       - ${SOURCE_DIR}:/www/:rw

#       - ${OPENRESTY_CONFD_DIR}:/etc/nginx/conf.d/:ro

#       - ${OPENRESTY_SSL_CERTIFICATE_DIR}:/ssl:rw

#       - ${OPENRESTY_CONF_FILE}:/usr/local/openresty/nginx/conf/nginx.conf:ro

#       - ${OPENRESTY_FASTCGI_PHP_CONF}:/usr/local/openresty/nginx/conf/fastcgi-php.conf:ro

#       - ${OPENRESTY_CONF_FASTCGIPARAMS_FILE}:/usr/local/openresty/nginx/conf/fastcgi_params:ro

#       - ${OPENRESTY_LOG_DIR}:/var/log/nginx/:rw

#    environment:

#      TZ: "$TZ"

#    networks:

#      - default

#  redis:

#    image: redis:${REDIS_VERSION}

#    container_name: redis

#    ports:

#      - "${REDIS_HOST_PORT}:6379"

#    volumes:

#      - ${REDIS_CONF_FILE}:/etc/redis.conf:ro

#      - ${DATA_DIR}/redis:/data/:rw

#    restart: always

#    entrypoint: ["redis-server", "/etc/redis.conf"]

#    environment:

#      TZ: "$TZ"

#    networks:

#      - default

#  memcached:

#    image: memcached:${MEMCACHED_VERSION}

#    container_name: memcached

#    ports:

#      - "${MEMCACHED_HOST_PORT}:11211"

#    environment:

#       MEMCACHED_CACHE_SIZE: "${MEMCACHED_CACHE_SIZE}"

#    networks:

#      - default

#  rabbitmq:

#    build:

#      context: ./services/rabbitmq

#      args:

#        RABBITMQ_VERSION: ${RABBITMQ_VERSION}

#        RABBITMQ_PLUGINS: ${RABBITMQ_PLUGINS}

#    container_name: rabbitmq

#    restart: always

#    ports:

#      - "${RABBITMQ_HOST_PORT_C}:5672"

#      - "${RABBITMQ_HOST_PORT_S}:15672"

#    environment:

#       TZ: "$TZ"

#       RABBITMQ_DEFAULT_USER: "${RABBITMQ_DEFAULT_USER}"

#       RABBITMQ_DEFAULT_PASS: "${RABBITMQ_DEFAULT_PASS}"

#    networks:

#          - default

#  phpmyadmin:

#    image: phpmyadmin/phpmyadmin:latest

#    container_name: phpmyadmin

#    ports:

#      - "${PHPMYADMIN_HOST_PORT}:80"

#    volumes:

#      - ${PHPMYADMIN_USER_CONF_FILE}:/etc/phpmyadmin/config.user.inc.php:ro

#      - ${PHPMYADMIN_PHP_CONF_FILE}:/usr/local/etc/php/conf.d/php-phpmyadmin.ini:ro

#    networks:

#      - default

#    environment:

#      - PMA_HOST=mysql

#      - PMA_PORT=3306

#      - TZ=$TZ

#  phpredisadmin:

#    image: erikdubbelboer/phpredisadmin:latest

#    container_name: phpredisadmin

#    ports:

#      - "${REDISMYADMIN_HOST_PORT}:80"

#    networks:

#      - default

#    environment:

#      - REDIS_1_HOST=redis

#      - REDIS_1_PORT=6379

#      - TZ=$TZ

#  mongodb:

#    image: mongo:${MONGODB_VERSION}

#    container_name: mongodb

#    environment:

#        MONGO_INITDB_ROOT_USERNAME: "${MONGODB_INITDB_ROOT_USERNAME}"

#        MONGO_INITDB_ROOT_PASSWORD: "${MONGODB_INITDB_ROOT_PASSWORD}"

#        TZ: "$TZ"

#    volumes:

#      - ${DATA_DIR}/mongo:/data/db:rw

#      - ${DATA_DIR}/mongo_key:/mongo:rw

#    ports:

#       - "${MONGODB_HOST_PORT}:27017"

#    networks:

#       - default

#    command:

#       --auth

#  adminmongo:

#    image: mrvautin/adminmongo

#    container_name: adminmongo

#    ports:

#      - "${ADMINMONGO_HOST_PORT}:1234"

#    environment:

#      - HOST=0.0.0.0

#      - DB_HOST=mongodb

#      - DB_PORT=27017

#    networks:

#      - default

#  elasticsearch:

#    build:

#      context: ./services/elasticsearch

#      args:

#        ELASTICSEARCH_VERSION: ${ELASTICSEARCH_VERSION}

#        ELASTICSEARCH_PLUGINS: ${ELASTICSEARCH_PLUGINS}

#    container_name: elasticsearch

#    environment:

#      - TZ=$TZ

#      - discovery.type=single-node

#      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"

#    volumes:

#      - ${DATA_DIR}/esdata:/usr/share/elasticsearch/data

#      - ${ELASTICSEARCH_CONF_FILE}:/usr/share/elasticsearch/config/elasticsearch.yml

#    hostname: elasticsearch

#    restart: always

#    ports:

#      - "${ELASTICSEARCH_HOST_PORT_C}:9200"

#      - "${ELASTICSEARCH_HOST_PORT_S}:9300"

#  kibana:

#    image: kibana:${KIBANA_VERSION}

#    container_name: kibana

#    environment:

#      TZ: "$TZ"

#      elasticsearch.hosts: http://elasticsearch:9200

#      I18N_LOCALE: "${KIBANA_I18N_LOCALE}"

#    hostname: kibana

#    depends_on:

#      - elasticsearch

#    restart: always

#    ports:

#      - "${KIBANA_HOST}:5601"

#  logstash:

#    image: logstash:${LOGSTASH_VERSION}

#    container_name: logstash

#    hostname: logstash

#    restart: always

#    depends_on:

#      - elasticsearch

#    environment:

#      TZ: "$TZ"

#    ports:

#      - "${LOGSTASH_HOST_PORT_C}:9600"

#      - "${LOGSTASH_HOST_PORT_S}:5044"

#  node:

#    image: node:${NODE_VERSION}

#    environment:

#      - NODE_ENV=production

#    volumes:

#      - ${SOURCE_DIR}:/www/:rw

#    expose:

#      - "8081"

#    networks:

#      - default

#    stdin_open: true

#    tty: true

#  supervisor:

#    build:

#      context: ./services/supervisor

#      args:

#        ALPINE_VERSION: alpine:${ALPINE_VERSION}

#        TZ: "$TZ"

#        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}

#    container_name: supervisor

#    ports:

#      - "${SUPERVISOR_HOST_PORT_C}:9001"

#    volumes:

#      - ${SOURCE_DIR}:/www/:rw

#      - ${SUPERVISOR_LOG}:/var/log/supervisor/:rw

#      - ${SUPERVISOR_CONFIG}:/etc/supervisor/conf.d/:rw

#      - ${SUPERVISOR_CONF_FILE}:/etc/supervisor/supervisord.conf:ro

#    command:

#      - /bin/sh

#      - -c

#      - |

#        supervisord -n -c /etc/supervisor/supervisord.conf

#    restart: always

#    cap_add:

#      - SYS_PTRACE

#    networks:

#      - default

networks:

  default:




env文件:

langhuaili@langhuailideiMac dnmp % cat env.sample 

#

# PHP source directory

#

SOURCE_DIR=./www

#

# Runtime data directory

#

DATA_DIR=./data

#

# Container Timezone

#

TZ=Asia/Shanghai

#

# Container package fetch url

#

# Can be empty, followings or others:

# mirrors.163.com

# mirrors.aliyun.com

# mirrors.ustc.edu.cn

# dl-cdn.alpinelinux.org

#

CONTAINER_PACKAGE_URL=mirrors.ustc.edu.cn

#

#ALPINE

#

ALPINE_VERSION=3.12

#

# Nginx

#

NGINX_VERSION=1.19.1-alpine

NGINX_HTTP_HOST_PORT=80

NGINX_HTTPS_HOST_PORT=443

NGINX_CONFD_DIR=./services/nginx/conf.d

NGINX_CONF_FILE=./services/nginx/nginx.conf

NGINX_FASTCGI_PHP_CONF=./services/nginx/fastcgi-php.conf

NGINX_FASTCGI_PARAMS=./services/nginx/fastcgi_params

NGINX_SSL_CERTIFICATE_DIR=./services/nginx/ssl

NGINX_LOG_DIR=./logs/nginx

# Available apps: certbot

NGINX_INSTALL_APPS=

#

# Openresty

#

OPENRESTY_VERSION=alpine

OPENRESTY_HTTP_HOST_PORT=80

OPENRESTY_HTTPS_HOST_PORT=443

OPENRESTY_CONFD_DIR=./services/openresty/conf.d

OPENRESTY_CONF_FILE=./services/openresty/openresty.conf

OPENRESTY_FASTCGI_PHP_CONF=./services/openresty/fastcgi-php.conf

OPENRESTY_CONF_FASTCGIPARAMS_FILE=./services/openresty/fastcgi_params

OPENRESTY_SSL_CERTIFICATE_DIR=./services/openresty/ssl

OPENRESTY_LOG_DIR=./logs/nginx

#

# SUPERVISOR

#

SUPERVISOR_CONFIG=./services/supervisor/conf.d/

SUPERVISOR_LOG=./logs/supervisor

SUPERVISOR_CONF_FILE=./services/supervisor/supervisord.conf

SUPERVISOR_HOST_PORT_C=9001

#

# PHP8

#

# Available PHP_EXTENSIONS:

#

# pdo_mysql,zip,pcntl,mysqli,mbstring,exif,bcmath,calendar,

# sockets,gettext,shmop,sysvmsg,sysvsem,sysvshm,pdo_rebird,

# pdo_dblib,pdo_oci,pdo_odbc,pdo_pgsql,pgsql,oci8,odbc,dba,

# gd,intl,bz2,soap,xsl,xmlrpc,wddx,curl,readline,snmp,pspell,

# recode,tidy,gmp,imap,ldap,imagick,sqlsrv,mcrypt,opcache,

# redis,memcached,xdebug,swoole,pdo_sqlsrv,sodium,yaf,mysql,

# amqp,mongodb,event,rar,ast,yac,yar,yaconf,msgpack,igbinary,

# seaslog,varnish,xhprof,xlswriter,memcache,rdkafka,zookeeper,

# psr,phalcon,sdebug,ssh2,yaml,protobuf,hprose

#

# You can let it empty to avoid installing any extensions,

# or install multi plugins as:

# PHP_EXTENSIONS=pdo_mysql,mysqli,gd,curl,opcache

#

PHP80_VERSION=8.0.9

PHP80_PHP_CONF_FILE=./services/php80/php.ini

PHP80_FPM_CONF_FILE=./services/php80/php-fpm.conf

PHP80_LOG_DIR=./logs/php80

PHP80_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache

#

# PHP7

#

# Available PHP_EXTENSIONS:

#

# pdo_mysql,zip,pcntl,mysqli,mbstring,exif,bcmath,calendar,

# sockets,gettext,shmop,sysvmsg,sysvsem,sysvshm,pdo_rebird,

# pdo_dblib,pdo_oci,pdo_odbc,pdo_pgsql,pgsql,oci8,odbc,dba,

# gd,intl,bz2,soap,xsl,xmlrpc,wddx,curl,readline,snmp,pspell,

# recode,tidy,gmp,imap,ldap,imagick,sqlsrv,mcrypt,opcache,

# redis,memcached,xdebug,swoole,pdo_sqlsrv,sodium,yaf,mysql,

# amqp,mongodb,event,rar,ast,yac,yar,yaconf,msgpack,igbinary,

# seaslog,varnish,xhprof,xlswriter,memcache,rdkafka,zookeeper,

# psr,phalcon,sdebug,ssh2,yaml,protobuf,hprose

#

# You can let it empty to avoid installing any extensions,

# or install multi plugins as:

# PHP_EXTENSIONS=pdo_mysql,mysqli,gd,curl,opcache

#

PHP_VERSION=7.4.7

PHP_PHP_CONF_FILE=./services/php/php.ini

PHP_FPM_CONF_FILE=./services/php/php-fpm.conf

PHP_LOG_DIR=./logs/php

PHP_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache

#

# PHP5.6

#

PHP56_VERSION=5.6.40

PHP56_PHP_CONF_FILE=./services/php56/php.ini

PHP56_FPM_CONF_FILE=./services/php56/php-fpm.conf

PHP56_LOG_DIR=./logs/php

PHP56_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache

#

# PHP5.4

#

PHP54_VERSION=5.4.45

PHP54_PHP_CONF_FILE=./services/php54/php.ini

PHP54_FPM_CONF_FILE=./services/php54/php-fpm.conf

PHP54_LOG_DIR=./logs/php

PHP54_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache

#

# RABBITMQ

# Available RABBITMQ_PLUGINS:

# rabbitmq_amqp1_0,rabbitmq_auth_backend_ldap,rabbitmq_auth_backend_http,rabbitmq_auth_mechanism_ssl,

# rabbitmq_consistent_hash_exchange,rabbitmq_federation,rabbitmq_federation_management,rabbitmq_management,

# rabbitmq_management_agent,rabbitmq_mqtt,rabbitmq_prometheus,rabbitmq_shovel,rabbitmq_shovel_management,

# rabbitmq_stomp,rabbitmq_tracing,rabbitmq_trust_store,rabbitmq_web_stomp,rabbitmq_web_mqtt,

# rabbitmq_web_stomp_examples,rabbitmq_web_mqtt_examples

#

RABBITMQ_VERSION=management

RABBITMQ_CONF_FILE=./services/rabbitmq/rabbitmq.yml

RABBITMQ_HOST_PORT_C=5672

RABBITMQ_HOST_PORT_S=15672

RABBITMQ_DEFAULT_USER=myuser

RABBITMQ_DEFAULT_PASS=mypass

RABBITMQ_PLUGINS=rabbitmq_amqp1_0

#

# MONGODB

#

MONGODB_VERSION=4.1

MONGODB_HOST_PORT=27017

MONGODB_INITDB_ROOT_USERNAME=root

MONGODB_INITDB_ROOT_PASSWORD=123456

#

# ELASTICSEARCH

#

# Available ELASTICSEARCH_PLUGINS:

#

# amazon-ec2,analysis-icu,analysis-kuromoji,analysis-nori,

# analysis-phonetic,analysis-smartcn,analysis-stempel,

# analysis-ukrainian,discovery-azure-classic,discovery-ec2,

# discovery-file,discovery-gce,google-cloud-storage,

# ingest-attachment,ingest-geoip,ingest-user-agent,mapper-murmur3,

# mapper-size,microsoft-azure-storage,qa,repository-azure,

# repository-gcs,repository-hdfs,repository-s3,store-smb,

# analysis-ik,analysis-pinyin

#

# You can let it empty to avoid installing any plugins,

# or install plugins as:

# ELASTICSEARCH_PLUGINS=analysis-ik,analysis-pinyin

#

ELASTICSEARCH_VERSION=7.1.1

ELASTICSEARCH_CONF_FILE=./services/elasticsearch/elasticsearch.yml

ELASTICSEARCH_HOST_PORT_C=9200

ELASTICSEARCH_HOST_PORT_S=9300

ELASTICSEARCH_PLUGINS=analysis-ik

#

# KIBANA

#

KIBANA_VERSION=7.1.1

KIBANA_HOST=5601

KIBANA_I18N_LOCALE=zh-CN

#

# LOGSTASH

#

LOGSTASH_VERSION=7.1.1

LOGSTASH_HOST=5601

LOGSTASH_HOST_PORT_C=9600

LOGSTASH_HOST_PORT_S=5044

#

# MySQL8

#

MYSQL_VERSION=8.0.13

MYSQL_HOST_PORT=3306

MYSQL_ROOT_PASSWORD=123456

MYSQL_CONF_FILE=./services/mysql/mysql.cnf

#

# MySQL5

#

MYSQL5_VERSION=5.7.28

MYSQL5_HOST_PORT=3305

MYSQL5_ROOT_PASSWORD=123456

MYSQL5_CONF_FILE=./services/mysql5/mysql.cnf

#

# Redis

#

REDIS_VERSION=5.0.3-alpine

REDIS_HOST_PORT=6379

REDIS_CONF_FILE=./services/redis/redis.conf

#

# Memcached

#

MEMCACHED_VERSION=alpine

MEMCACHED_HOST_PORT=11211

MEMCACHED_CACHE_SIZE=128

#

# phpMyAdmin

#

PHPMYADMIN_HOST_PORT=8080

PHPMYADMIN_USER_CONF_FILE=./services/phpmyadmin/config.user.inc.php

PHPMYADMIN_PHP_CONF_FILE=./services/phpmyadmin/php-phpmyadmin.ini

#

# redisMyAdmin

#

REDISMYADMIN_HOST_PORT=8081

#

# AdminMongo

#

ADMINMONGO_HOST_PORT=1234

#

# Node

#

NODE_VERSION=10.16.1-alpine


使用chatGPT寻求答案
标签: 暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:master@freevpsweb.com

同类推荐
评论列表