Dzzoffice 部署

Dzzoffice 部署

  • Dockerfile
  • php-fpm.conf
  • www.conf
  • nginx.conf
  • default.conf
  • sources.list
  • run.sh
  • index.php

准备配置文件

一、Dockerfile

# info
FROM ubuntu:latest

MAINTAINER XHT-20220410

ENV VERSION 2.02.1

EXPOSE 80

WORKDIR /var/www/html
ADD run.sh /mnt/run.sh
ADD index.php /var/www/html
ADD sources.list /etc/apt/sources.list

RUN apt-get upgrade -y
RUN apt-get update -y

# 安装 PHP74 及扩展
RUN apt-get install language-pack-en-base -y \
&& apt-get install software-properties-common -y \
&& apt-get install curl -y \
&& locale-gen en_US.UTF-8 \
&& LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php \
&& apt-get -y install php7.4 \
   php7.4-mysql \
   php7.4-fpm \
   php7.4-curl \
   php7.4-xml \
   php7.4-mcrypt \
   php7.4-json \
   php7.4-gd \
   php7.4-zip \
   php7.4-mbstring

# 安装 Nginx
RUN apt-get install nginx -y

#配置文件修改
ADD php-fpm.conf /usr/local/php/etc/
ADD www.conf /usr/local/php/etc/php-fpm.d/
ADD default.conf /etc/nginx/conf.d/
ADD nginx.conf /etc/nginx/nginx.conf
ADD php.ini /etc/php/7.4/fpm/
ADD php.ini /etc/php/7.4/cli/

RUN mkdir /run/php/
RUN chown www-data:www-data /run/php
RUN chmod 777 /mnt/run.sh

#需要部署 dzzoffice 到容器内,请打开下面的注释!
#RUN curl -o ./dzzoffice-${VERSION}.tar.gz https://codeload.github.com/zyx0814/dzzoffice/tar.gz/${VERSION} \
#&& tar -xf ./dzzoffice-${VERSION}.tar.gz -C /tmp/ \
#&& rm -rf ./dzzoffice-${VERSION}.tar.gz /tmp/dzzoffice-${VERSION}/*.md \
#&& mv /tmp/dzzoffice-${VERSION}/* /var/www/html/ \
#&& rm -rf /tmp/dzzoffice-${VERSION} \
RUN chown www-data:www-data /var/www/html/* -R \
&& chmod 777 /var/www/html/* -R


CMD ["/mnt/run.sh"]

二、php-fpm.conf

;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;

; All relative paths in this configuration file are relative to PHP's install
; prefix (/usr/local/php). This prefix can be dynamically changed by using the
; '-p' argument from the command line.

;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; into a local file.
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log
;error_log = log/php-fpm.log

; syslog_facility is used to specify what type of program is logging the
; message. This lets syslogd specify that messages from different facilities
; will be handled differently.
; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
; Default Value: daemon
;syslog.facility = daemon
;这里要设置成no,php-fpm运行到前台
daemonize = no

include=/usr/local/php/etc/php-fpm.d/*.conf

三、www.conf

[www-date]
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

四、nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
	worker_connections 768;
}
http {
	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	client_max_body_size 500M;
	include /etc/nginx/mime.types;
	default_type application/octet-stream;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;
	
	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;
	
	gzip on;
	include /etc/nginx/conf.d/*.conf;
}

五、default.conf

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /var/www/html;
        index index.php index.html index.htm;
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
        }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        root           /var/www/html;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
	fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

六、sources.list

使用华为国内镜像站加速

deb http://repo.huaweicloud.com/ubuntu/ focal main restricted
deb http://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
deb http://repo.huaweicloud.com/ubuntu/ focal universe
deb http://repo.huaweicloud.com/ubuntu/ focal-updates universe
deb http://repo.huaweicloud.com/ubuntu/ focal multiverse
deb http://repo.huaweicloud.com/ubuntu/ focal-updates multiverse
deb http://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://repo.huaweicloud.com/ubuntu focal-security main restricted
deb http://repo.huaweicloud.com/ubuntu focal-security universe
deb http://repo.huaweicloud.com/ubuntu focal-security multiverse

七、run.sh

#!/bin/bash
nginx
php-fpm7.4
tail -f /dev/null

八、index.php

<?php
echo("hello world!");
?>

打包 docker image

docker build -f Dockerfiel -t dzzoffice .

启动容器

docker run -d \
	--name dzzoffice \
	-p 7009:80 \
	-v /mnt/docker_data/wwwroot/dzzoffice:/var/www/html \
	dzzoffice

hello world!");
?>


## 打包 docker image

```bash
docker build -f Dockerfiel -t dzzoffice .

启动容器

docker run -d \
	--name dzzoffice \
	-p 7009:80 \
	-v /mnt/docker_data/wwwroot/dzzoffice:/var/www/html \
	dzzoffice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值