Docker-compose部署lnmp架构(附开源软件Discuz)

主机IP 172.25.33.8

可以直接通过阿里云的容器镜像服务中的镜像加速器服务完成镜像拉取

获取所有需要的基础镜像

docker pull mysql:5.7
docker pull php:5.6-fpm
docker pull nginx:1.12.2

获取docker-compose命令
在这里插入图片描述
当前建立目录建立新的lnmp目录,并创建文件目录结构如下
Docker-compose部署lnmp架构(附开源软件Discuz)_第1张图片
由于php官方镜像编译的问题,导致php不支持以mysqli的方式与mysql的连接,于是对镜像官方镜像再加工
编写php/Dockerfile,内容如下

[root@server1 lnmp]# cat php/Dockerfile 
FROM  php:5.6-fpm
 RUN apt-get update && apt-get install -y \
 libfreetype6-dev \
 libjpeg62-turbo-dev \
 libpng12*-dev \
 vim \
 && docker-php-ext-install pdo_mysql mysqli \
 && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
 && docker-php-ext-install gd 

执行构建命令生成新的镜像

docker build -t="php-fpm5.6/v2" ./

在这里插入图片描述
完善所需文件
网页文件
web/index.html
web/index.php

[root@server8 ~]# cat lnmp/web/index.html 
123
[root@server8 ~]# cat lnmp/web/index.php 

在这里插入图片描述
nginx配置文件

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log

  /var/log/nginx/host.access.log  main;

location / {
    root   /web;    # 根目录
    index  index.html 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;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    fastcgi_pass   php:9000;   # php处理端口
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   /web$fastcgi_script_name; #php文件位置
    include        fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}
}

docker-compose.yml文件

version: "2"
services:
  php:
    image:  php-fpm5.6/v2:latest
    ports:
      - 9000:9000 # 端口映射
    networks:
      - lnmp 所使用的网络
    volumes:
      -  ./web:/web # 网页文件位置映射
    links:
      - mysql	# 链接数据库
  nginx:
    image: nginx:1.12.2  # nginx镜像
    networks:
      - lnmp # 网络
    ports:
      - 80:80 # 端口映射
    volumes:
      - ./web:/web # 网页文件位置映射
      - ./file/default.conf:/etc/nginx/conf.d/default.conf # 配置文件位置映射
    links:
      - php
  mysql:
    hostname: mysql  
    image: mysql:5.7 
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 3306:3306
    networks:
      - lnmp
    environment: # 数据库的初始密码设置
      MYSQL_ROOT_PASSWORD: 123456
networks:  # 建立所用到的架构网络
  lnmp:

使用docker-compose命令运行配置文件

docker-compose up -d
docker-compose down

Docker-compose部署lnmp架构(附开源软件Discuz)_第2张图片
查看结果
172.25.33.8/index.html
Docker-compose部署lnmp架构(附开源软件Discuz)_第3张图片
172.25.33.8/index.php
Docker-compose部署lnmp架构(附开源软件Discuz)_第4张图片

Discuz的布置
删除web/下所有文件
官网下载软件
http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
解压该文件至web目录下
Docker-compose部署lnmp架构(附开源软件Discuz)_第5张图片
将upload下文件移动至web目录下,并修改部分文件权限

chmod 777 config/ -R
chmod 777 data/ -R
chmod 777 uc_client/ -R
chmod 777 uc_server/ -R

Docker-compose部署lnmp架构(附开源软件Discuz)_第6张图片
网站登录172.25.41.1/install,进入数据库配置页面
数据库主机:172.25.41.1(主机IP)
数据库密码:123456
管理员密码:redhat
Docker-compose部署lnmp架构(附开源软件Discuz)_第7张图片
下一步至结束即可,同时删除安装目录
在这里插入图片描述
访问172.25.41.1
Docker-compose部署lnmp架构(附开源软件Discuz)_第8张图片

你可能感兴趣的:(随笔)