Docker-compose快速构建LNMP框架及其监控架构

快速构建LNMP框架及其监控架构

环境需安装docker和docker-compose

本文档仅在测试环境下部署,搭建生产环境仅供参考

由于是测试环境,容器都映射了对应端口,为了安全性不应暴露敏感端口。

组件版本说明
Linux CentOs7服务器系统
Docker应用容器引擎26.1.2以容器的形式构建LNMP架构
docker-compose容器编排工具v2.27.0配合Dockerfile快速部署LNMP架构
Nginx (docker)1.22Web服务器,测试环境使用kodbox网盘系统
Mysql (docker)5.7关系型数据库
Php (docker)7.4.33-fpmphp框架,网站后端环境
Redis (docker)5.0.12高性能的key-value非关系型数据库,适用于高并发读写的情况
Prometheus2.32.1开源的服务监控系统
Grafanav8.3.3可视化平台

LNMP架构容器:

容器名称IP地址映射端口
nginx172.30.0.280 443
php172.30.0.39000
mysql172.30.0.43306
redis172.30.0.56379

监控架构容器:

容器名称IP地址映射端口说明
prometheus172.30.0.69090监控
grafana172.30.0.73000可视化
cadvisor172.30.0.88080暴露docker指标便于prometheus监控
nginx_exproter172.30.0.99113暴露nginx指标
mysqld-exporter172.30.0.109104暴露mysql指标
php-fpm_exporter172.30.0.119253暴露php指标
node-exporter172.30.0.129100暴露服务器指标

1.创建数据目录、写入配置文件

1.1.创建目录

mkdir /opt/web  \
/opt/web/html \
/opt/web/mysql \
/opt/web/certs \
/opt/web/config \
/opt/web/dockerfile \
/opt/prometheus \
/opt/grafana-storage 
  • mkdir /opt/web 创建站点目录

  • /opt/web/html 创建html目录 用于存放网站页面

  • /opt/web/mysql 创建mysql目录 用于存放数据库配置

  • /opt/web/certs 创建certs 目录用于存放证书

  • /opt/web/config #创建config目录 用于存放映射容器的配置文件

  • /opt/web/dockerfile #创建dockerfile目录 用于存放dockerfile文件

  • /opt/prometheus #创建prometheus目录 用于存放prometheus.yml(配置文件)

  • /opt/grafana-storage #创建grafana-storage 目录 用于存放grafana的配置(如保存的仪表盘)

    1.2.创建配置文件

touch /opt/web/config/default.conf \
/opt/web/config/nginx.conf \
/opt/web/config/php.ini \
/opt/web/dockerfile/nginx_dockerfile \
/opt/web/dockerfile/php_dockerfile \
/opt/prometheus/prometheus.yml
  • touch /opt/config/default.conf 创建nginx默认配置文件

  • /opt/config/nginx.conf 创建nginx服务器配置文件

  • /opt/config/php.ini 创建php配置文件

  • /opt/web/dockerfile/nginx_dockerfile 创建nginx的dockerfile文件

  • /opt/web/dockerfile/php_dockerfile 创建php的dockerfile文件

  • /opt/prometheus/prometheus.yml 创建prometheus的监控配置文件

    1.3.添加目录权限

    赋予目录权限,否则grafana容器无法启动

chmod 777 -R /opt/grafana-storage

2.写入配置文件、Dockerfile

2.1.写入Nginx的dockerfile文件

用于构建自定义镜像,安装了vim编辑器方便修改容器的其它配置

cat << EOF >/opt/web/dockerfile/nginx_dockerfile
#以官方的Nginx1.22版本镜像为基础
FROM nginx:1.22
#备份原始下载源数据
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak
#删除掉原有的源文件
RUN rm /etc/apt/sources.list
#创建空白源文件
RUN touch /etc/apt/sources.list
#更换阿里源
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list
#更新源
RUN apt-get update
#安装vim编辑器,方便修改容器内的配置文件
RUN apt-get install -y vim
#封装:docker build -t"my_nginx:1.22" .
EOF

2.2.写入php的dockerfile文件

用于构建自定义镜像,安装了vim编辑器方便修改容器的其它配置,安装了php的扩展、gd库,启用了PHP监控页面。

cat << EOF >/opt/web/dockerfile/php_dockerfile
#以官方的php:7.4.33-fpm版本镜像为基础
FROM php:7.4.33-fpm
#备份原始下载源数据
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak
#删除掉原有的源文件
RUN rm /etc/apt/sources.list
#创建空白源文件
RUN touch /etc/apt/sources.list
#更换阿里源
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list
#更新源
RUN apt-get update
#安装vim编辑器,方便修改容器内的配置文件
RUN apt-get install -y vim
#安装PHP扩展
RUN apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev libmagickwand-dev imagemagick
RUN docker-php-ext-install mysqli pdo_mysql zip exif gd intl bcmath opcache
RUN pecl install imagick
RUN sh -c 'echo "extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini'
#安装GD库和依赖
RUN apt install -y libfreetype6 libwebp-dev libjpeg-dev libpng-dev
RUN apt install libjpeg62-turbo-dev libfreetype6-dev -y
RUN su -c "docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg"
RUN su -c "docker-php-ext-install gd"
#安装redis扩展
RUN cd /tmp
RUN apt-get install -y wget
RUN wget -P /tmp/ https://pecl.php.net/get/redis-5.3.7.tgz
RUN mkdir /tmp/redis
RUN tar -zxvf /tmp/redis-5.3.7.tgz -C /tmp/redis
RUN cd /tmp/redis/redis-5.3.7 && /usr/local/bin/phpize
RUN cd /tmp/redis/redis-5.3.7 && whereis php-config
RUN cd /tmp/redis/redis-5.3.7 && ./configure --with-php-config=/usr/local/bin/php-config
RUN cd /tmp/redis/redis-5.3.7 && make
RUN cd /tmp/redis/redis-5.3.7 && make install
RUN echo "extension=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/redis.so" >> /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
#开启PHP监控页面
RUN echo "pm.status_path = /status" >> /usr/local/etc/php-fpm.conf
RUN echo "ping.path = /ping" >> /usr/local/etc/php-fpm.conf
#封装:docker build -t"my_php:7.4.33-fpm" .
EOF

2.3.写入Nginx的default.conf文件

cat << EOF >/opt/web/config/default.conf
#涉及到IP地址请以实际实验环境为准
#nginx80端口转发到php,即为主页
server {
    listen       80;    #监听80端口
    listen  [::]:80;
    server_name  localhost;             #也可以填写自己注册的域名
    location / {
        root   /var/www/html;   #当前配置的页面文件根目录
        index  index.php index.html index.htm;  #添加index.php作为默认首页
    }
    #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   /usr/share/nginx/html;
    }
    # 与php-fpm通信的关键设置
    location ~ \.php\$ {
         root   /var/www/html;  #页面文件根目录
         fastcgi_pass   172.30.0.3:9000;      #php-fpm的通信端口,由于已经将容器9000端口映射到了主机的9000端口,所以这里填“主机ip:9000”也是可以的。
         fastcgi_index  index.php;              #默认主页文件设置
         fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;
         fastcgi_param  SCRIPT_NAME      \$fastcgi_script_name;
         include        fastcgi_params;
    }
    #开启stub_status功能,用于监控Nginx指标
    location /stub_status {
        stub_status on;
        access_log off;
        #allow 0.0.0.0/0;
        #deny all;
        }
}

#php的监控页面转发至nginx的9010端口
server {
    listen       9010;    #监听9010端口
    listen  [::]:9010;
    server_name  localhost;             #也可以填写自己注册的域名
    location ~ ^/(status|ping)\$ {
        #fastcgi_pass  unix:/tmp/php-cgi.sock; # unix socket
        fastcgi_pass 172.30.0.3:9000;         # tcp
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include fastcgi_params;
    }
}
EOF

2.3.写入Nginx的default.conf文件

cat << EOF >/opt/web/config/nginx.conf
user  nginx;
worker_processes  auto;

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


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;
    #设置最大上传限制2048M
    client_max_body_size 2048M;
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
EOF

2.4.写入php.ini文件

只修改了最大上传限制为2048M 其余均为默认值

删除了注释的配置 只保留默认的未注释配置

cat << EOF >/opt/web/config/php.ini
[PHP]
; 注释来源于https://blog.csdn.net/dianpujiu5323/article/details/101285708
; 在apache下启用php语言引擎
engine = On
; 是否开启段标签  若php数据与XML数据结合使用时则需要关闭<? ?>
short_open_tag = Off
; 浮点数的有效小数位数
precision = 14
; 输出缓冲配置,PHP先内部保存,然后再向客户端发送数据。如果应用程序的输出超过了该设置,PHP将以大致指定大小的块发送数据。
output_buffering = 4096
;  是否使用zlib库压缩输出
zlib.output_compression = Off
; 隐式刷新
implicit_flush = Off
; 反序列化回调函数
unserialize_callback_func =
; 默认值确保浮点数或者双精度数序列化保持精度不变
serialize_precision = -1
; 出于安全原因禁用某些函数/类
disable_functions =
disable_classes =
; 垃圾收集机制
zend.enable_gc = On
zend.exception_ignore_args = Off
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
enable_dl = Off

file_uploads = On

;设置最大上传限制2048M
upload_max_filesize = 2048M

max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off

default_socket_timeout = 60

[CLI Server]
;CLI服务器是否在终端输出中使用ANSI颜色编码
cli_server.color = On

[Pdo_mysql]
pdo_mysql.default_socket=

[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off

[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1

[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off

[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On

[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

[bcmath]
bcmath.scale = 0

[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.cookie_samesite =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5

[Assertion]
zend.assertions = 1

[Tidy]
tidy.clean_output = Off

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5

[ldap]
ldap.max_links = -1
EOF

2.5.写入prometheus.yml 监控文件

cat << EOF >/opt/prometheus/prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s
  
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['172.30.0.6:9090']
        labels:
          instance: prometheus
          
  - job_name: Docker
    static_configs:
      - targets: ['172.30.0.8:8080']
        labels:
          instance: Docker_exporter
          
  - job_name: Nginx
    static_configs:
      - targets: ['172.30.0.9:9113']
        labels:
          instance: Nginx_exporter
          
  - job_name: mysql_exporter
    scrape_interval: 5s
    static_configs:
      - targets: ['172.30.0.10:9104']
        labels:
          instance: mysql_exporter   
          
  - job_name: php_exporter
    scrape_interval: 5s
    static_configs:
      - targets: ['172.30.0.11:9253']
        labels:
          instance: php_exporter   
          
  - job_name: Linux
    static_configs:
      - targets: ['172.30.0.12:9100']
        labels:
          instance: Linux_server_exporter
          
rule_files:
  - "/opt/prometheus/mysql_exporter_recording_rules.yml"
EOF

2.编写Docker-compose构建容器

##因为文件内全部使用的绝对路径 因此docker-compose.yml的存放位置不作严格要求##

vim docker-compose.yml
version: '3.8'

#创建网络
networks:
  mynet:
    ipam:
      config:
        - subnet: 172.30.0.0/16
services:
  nginx:
    build: #构建自定义镜像
      context: /opt/web/dockerfile/ # 指定dockerfile文件的所在路径  
      dockerfile: nginx_dockerfile  # 指定Dockerfile文件名称 
    image: my_nginx:1.22        #自定义镜像名和版本号
    container_name: nginx #容器名称 可自定义
    restart: always #是否开机自启
    ports: #端口映射
      - 80:80
      - 443:443   
      - 9010:9010   
    volumes: #容器文件映射
      - /opt/web/config/default.conf:/etc/nginx/conf.d/default.conf
      - /opt/web/config/nginx.conf:/etc/nginx/nginx.conf
      - /opt/web/certs:/etc/nginx/certs      
      - /opt/web/html:/var/www/html
    # 加入创建的网络 指定静态IP
    networks:
      mynet:
        ipv4_address: 172.30.0.2

  php:
    build: #构建自定义镜像
      context: /opt/web/dockerfile/ # 指定dockerfile文件的所在路径  
      dockerfile: php_dockerfile  # 指定Dockerfile文件名称 
    image: my_php:7.4.33-fpm       #自定义镜像名和版本号
    container_name: php #容器名称 可自定义
    restart: always #是否开机自启
    ports: #端口映射 生产环境不建议暴露9000端口
      - 9000:9000
    volumes: #容器文件映射
      - /opt/web/html:/var/www/html
      - /opt/web/config/php.ini:/usr/local/etc/php/php.ini
    networks:
      mynet:
        ipv4_address: 172.30.0.3
        
  mysql:
    image: mysql:5.7 #使用的镜像
    container_name: mysql #容器名字 可自定义
    restart: always
    ports: #端口映射 生产环境不建议暴露3306端口
     - 3306:3306
    volumes: #容器文件映射
      - /opt/web/config/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456 #定义root密码 可自定义
      - MYSQL_DATABASE=web #创建网站数据库 可自定义
      - MYSQL_USER=webuser #创建网站数据库管理账户 可自定义
      - MYSQL_PASSWORD=123456 #定义网站数据库管理账户密码 可自定义
    networks:
     mynet:
        ipv4_address: 172.30.0.4
  redis:
    image: redis:5.0.12
    container_name: redis
    restart: always
    ports: #端口映射
     - 6379:6379
    networks:
      mynet:
        ipv4_address: 172.30.0.5
    #volumes: #容器文件映射
    # - /opt/web/config/redis.conf:/usr/local/etc/php/php.ini
    #environment:
    # - appendonly=yes
    #  - requirepass=123456
    #  - redis-server=/usr/local/etc/redis/redis.conf

###########监控架构###############

#构建prometheus容器 用于监控指标
  prometheus:
    image: prom/prometheus #使用的镜像
    container_name: prometheus #容器名字 可自定义
    restart: always #开机自启
    ports: #端口映射
     - 9090:9090
    volumes: #容器文件映射
      - /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    networks:
      mynet:
        ipv4_address: 172.30.0.6

  #构建grafana容器 用于可视化指标
  grafana:
    image: grafana/grafana #使用的镜像
    container_name: grafana #容器名字 可自定义
    restart: always #开机自启
    ports: #端口映射
     - 3000:3000
    volumes: #容器文件映射
      - /opt/grafana-storage:/var/lib/grafana
    networks:
      mynet:
        ipv4_address: 172.30.0.7

  #构建cAdvisor容器 用于暴露docker指标
  cadvisor:
    image: google/cadvisor #使用的镜像
    container_name: cadvisor #容器名字 可自定义
    restart: always #开机自启
    # device: /dev/kmsg #监控磁盘
    ports: #端口映射
     - 8080:8080
    volumes: #容器文件映射
        - /:/rootfs:ro
        - /var/run:/var/run:ro
        - /sys:/sys:ro
        - /var/lib/docker/:/var/lib/docker:ro
        - /dev/disk/:/dev/disk:ro
    environment:
        - "device=/dev/kmsg" #监控磁盘
    networks:
      mynet:
        ipv4_address: 172.30.0.8

 #构建nginx_exporter容器 用于暴露Nginx指标
  nginx_exproter:
    image: nginx/nginx-prometheus-exporter:0.11
    container_name: nginx_exporter
    hostname: nginx_exporter
    command: #填写nginx容器IP
      - '-nginx.scrape-uri=http://172.30.0.2/stub_status'
    restart: always
    ports:
       - 9113:9113
    networks:
      mynet:
        ipv4_address: 172.30.0.9

  #构建mysqld-exporter容器 用于暴露mysql指标
  mysqld-exporter:
    image: prom/mysqld-exporter #使用的镜像
    container_name: mysqld-exporter #容器名字 可自定义
    restart: always #开机自启
    environment:
      # 连接mysql 
      # DATA_SOURCE_NAME="用户名:密码@(mysql地址:3306)
      # 测试阶段可使用root 非测试请创建用于监控mysql的账户
      - "DATA_SOURCE_NAME=root:123456@(192.168.1.19:3306)/"
    ports: #映射端口
      - 9104:9104
    networks:
      mynet:
        ipv4_address: 172.30.0.10

  #构建php-fpm_exporter容器 用于暴露php指标
  php-fpm_exporter:
    image: hipages/php-fpm_exporter
    container_name: php-fpm_exporter
    restart: always
    environment:
        # php容器地址
      - 'PHP_FPM_SCRAPE_URI="tcp://172.30.0.3:9000/status"'
    ports:
      - 9253:9253
    networks:
      mynet:
        ipv4_address: 172.30.0.11

  #构建node-exporter容器 用于暴露主机指标
  node-exporter:
    image: prom/node-exporter
    container_name: node-exporter
    restart: always #开启自启
    volumes: #容器文件映射
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    ports:
      - 9100:9100
    networks:
      mynet:
        ipv4_address: 172.30.0.12

构建容器

docker-compose up -d

添加容器目录权限

docker exec -it nginx chmod -R 777 /var/www/html && docker exec -it php chmod -R 777 /var/www/html

重启

docker restart nginx && docker restart php

查看创建情况

docker ps
CONTAINER ID   IMAGE                                  COMMAND                   CREATED             STATUS             PORTS                                                                                                                 NAMES
ad9a8399fa61   prom/mysqld-exporter                   "/bin/mysqld_exporter"    58 minutes ago      Up 57 minutes      0.0.0.0:9104->9104/tcp, :::9104->9104/tcp                                                                             mysqld-exporter
2dc5ad2ec997   nginx/nginx-prometheus-exporter:0.11   "/usr/bin/nginx-prom…"   About an hour ago   Up About an hour   0.0.0.0:9113->9113/tcp, :::9113->9113/tcp                                                                             nginx_exporter
6e34a82ef49c   grafana/grafana                        "/run.sh"                 2 hours ago         Up 2 hours         0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                                             grafana
9c47827a6faf   hipages/php-fpm_exporter               "/php-fpm_exporter s…"   2 hours ago         Up 2 hours         0.0.0.0:9253->9253/tcp, :::9253->9253/tcp                                                                             php-fpm_exporter
23f2b3d69acf   google/cadvisor                        "/usr/bin/cadvisor -…"   2 hours ago         Up 2 hours         0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                                             cadvisor
d9dd9081dd80   prom/prometheus                        "/bin/prometheus --c…"   2 hours ago         Up 22 minutes      0.0.0.0:9090->9090/tcp, :::9090->9090/tcp                                                                             prometheus
48ba5f8b4367   prom/node-exporter                     "/bin/node_exporter"      2 hours ago         Up 2 hours         0.0.0.0:9100->9100/tcp, :::9100->9100/tcp                                                                             node-exporter
7346fec8856f   my_nginx:1.22                          "/docker-entrypoint.…"   3 hours ago         Up 3 hours         0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:9010->9010/tcp, :::9010->9010/tcp   nginx
ef1b89398a2a   mysql:5.7                              "docker-entrypoint.s…"   5 hours ago         Up 3 hours         0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                                  mysql
782934ccbe91   my_php:7.4.33-fpm                      "docker-php-entrypoi…"   5 hours ago         Up 3 hours         0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                                                             php
92d94e34d37c   redis:5.0.12                           "docker-entrypoint.s…"   5 hours ago         Up 3 hours         0.0.0.0:6379->6379/tcp, :::6379->6379/tcp 

3.测试

浏览器输入服务器的IP地址,显示403即为成功,因为没有部署网站所以显示403的错误代码

将网站源码放入/opt/web/html内即可

prometheus访问地址: ip+9090

Grafana访问地址: ip+3000

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值