SSL证书申请源码安装说明

SSL证书申请源码安装说明

安装方式
管理员默认的账号和密码

账号:admin

密码:123456

强烈建议:登录系统后修改默认密码

启动部署方式和Flask应用是一样的

特别注意:

【测试环境】可以使用默认的sqlite数据库;

【生产环境】推荐使用MySQL数据库,避免锁表,配置方式:可选配置

方式一:pip安装
运行环境:

Python >= 2.7 或者 Python >= 3.4

sqlite、openssl

python的安装,可以参考文章:Linux环境下安装Python3

可以使用 pyenv + venv 管理多个Python版本和隔离虚拟环境

确保已经安装Python解释器

$ python3 --version
Python 3.7.0

linux / macos 安装

# 创建名为 venv 的虚拟环境并激活
$ python3 -m venv venv && source venv/bin/activate

# 安装 domain-admin
$ pip install gunicorn domain-admin

# 启动运行
$ gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'

windows 安装

# 创建名为 venv 的虚拟环境
> py -3 -m venv venv

# 激活虚拟环境
> venv\Scripts\activate

# 安装 domain-admin
> pip install waitress domain-admin

# 启动运行
> waitress-serve --listen=127.0.0.1:8000 domain_admin.main:app

访问地址:http://127.0.0.1:8000

升级到最新版本

$ pip3 install -U domain-admin -i https://pypi.org/simple

Python2.7如果安装依赖报错,可以使用依赖文件

six
Flask
peewee
werkzeug
Jinja2
requests
pymysql
Flask-Cors=3.0.10
python-dateutil
apscheduler=3.8.1
PyJWT
bcrypt
tldextract
python-dotenv
environs
pyOpenSSL
prometheus-client
acme
fabric=2.7.1
dnspython

先安装好依赖文件的依赖,再安装domain-admin即可

方式二:docker启动

# 本地文件夹和容器文件夹映射
$ docker run \
-v $(pwd)/database:/app/database \
-v $(pwd)/logs:/app/logs \
-p 8000:8000 \
--name domain-admin \
mouday/domain-admin:latest

database:sqlite数据库和重要数据的目录

logs:日志目录,用于排查问题

启动命令增加参数:-d,可以后台运行

# 本地文件夹和容器文件夹映射
$ docker run \
-d \
-v $(pwd)/database:/app/database \
-v $(pwd)/logs:/app/logs \
-p 8000:8000 \
--name domain-admin \
mouday/domain-admin:latest

也可以用dokcer-compose来一键启动

可以使用docker-compose up -d来启动

当版本更新时,可以用docker-compose pull来拉取镜像,然后用docker-compose up -d来重启新镜像

version: '3.3'
services:
    domain-admin:
        volumes:
            - './database:/app/database'
            - './logs:/app/logs'
        ports:
            - '8000:8000'
        container_name: domain-admin
        image: mouday/domain-admin:latest

可用的docker镜像站

https://docker.aityp.com/

https://docker.catiz.eu.org/

方式三:下载源码安装
本方式仅适用于二次开发,推荐采用 pip安装 或者 docker启动 的方式体验

例如:以v1.5.8为例

每次发布都会包含以下代码包

domain-admin-1.5.8.tar.gz                # 完整源码包,包含打包后的H5端、web端代码
domain_admin-1.5.8-py2.py3-none-any.whl  # pip包,可直接安装
domain-admin-mini-v1.5.8.tar.gz          # H5端源码
domain-admin-web-v1.5.8.tar.gz           # web端源码
Source code(zip)                         # Python源码 windows适用
Source code(tar.gz)                      # Python源码 linux/mac适用

解压进入

tar -zxvf domain-admin-1.5.8.tar.gz

cd domain-admin-1.5.8

创建虚拟环境`

# 创建名为 venv 的虚拟环境,windows用户参考方式一
$ python3 -m venv venv && source venv/bin/activate

# 安装依赖
pip3 install .

新建启动文件 app.py

from domain_admin.main import app

if __name__ == '__main__':
    app.run(port=8000)

此时的目录结构如下

$ tree -L 1
.
├── LICENSE
├── MANIFEST.in
├── PKG-INFO
├── README.md
├── app.py                 # 新建的启动文件
├── build
├── database
├── domain_admin
├── domain_admin.egg-info
├── logs
├── requirements
├── setup.cfg
├── setup.py
├── temp
└── venv

启动运行

# 启动运行
$ python app.py

* Serving Flask app 'domain_admin.main'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8000
Press CTRL+C to quit

warning提示可以忽略,推荐参考方式一,使用gunicorn 或者 waitress-serve 启动

访问地址:http://127.0.0.1:8000

平滑升级
所有版本都支持平滑升级

安装最新版,重启即可

注意:如果是docker安装的,注意database 目录是不是手动挂载的,不要删除

可选配置
通过配置.env 文件或者直接设置系统环境变量

1、修改数据库存储方式

sqlite 默认 (少量用户推荐)

DB_CONNECT_URL=sqlite:///database/database.db

mysql (团队使用推荐)

DB_CONNECT_URL=mysql://root:123456@127.0.0.1:3306/data_domain

postgresql,需自己安装psycopg2依赖:pip install psycopg2

DB_CONNECT_URL=postgresql://root:123456@localhost:5432/data_domain

说明:以上配置仅为示例,根据自己实际情况修改

如果使用mysql数据库,建议指定默认字符编码为utf8mb4

create database data_domain default character set=utf8mb4;

配置参数
可以通过运行目录下添加 .env 文件配置项目的可选参数

数据库链接参数

支持数据库:sqlite(默认)、mysql、postgresql

DB_CONNECT_URL=mysql://root:123456@127.0.0.1:3306/data

运行模式

可选:production(默认) / development(可以打印更多的调试日志)

APP_MODE=production

允许远程执行的命令白名单,多个英文分号(;)分隔

ALLOW_COMMANDS=/opt/nginx/sbin/nginx -s reload;nginx -s reload

还可以通过环境变量来暴露

export APP_MODE=production

在 Dockerfile 中使用 ENV 指令设置环境变量

设置单个环境变量

ENV APP_MODE production

设置多个环境变量

ENV APP_MODE=production ALLOW_COMMANDS='nginx -s reload'

使用 docker run 命令的 -e 或 --env 选项在运行容器时设置环境变量

设置单个环境变量

docker run -e APP_MODE=production my_image

设置多个环境变量

docker run -e APP_MODE=production -e ALLOW_COMMANDS='nginx -s reload' my_image

在docker-compose.yml文件中使用environment关键字

version: '3.3'
services:
    domain-admin:
        volumes:
            - './database:/app/database'
            - './logs:/app/logs'
        ports:
            - '8000:8000'
        environment:
            - APP_MODE=production
        container_name: domain-admin
        image: mouday/domain-admin:latest

在docker-compose.yml文件从宿主机获取环境变量,可以使用env_file关键字指向一个文件

version: '3.3'
services:
    domain-admin:
        volumes:
            - './database:/app/database'
            - './logs:/app/logs'
        ports:
            - '8000:8000'
        env_file:
            - .env
        container_name: domain-admin
        image: mouday/domain-admin:latest

可以通过 printenv 命令查看设置的环境变量

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云博客-资源宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值