操作步骤如下

# 查看已安装Python版本
pyenv versions
* system (set by /opt/pyenv/version)
  3.7.0

# 如已安装,可忽略
pyenv install 3.7.0

# 创建并进入运行目录
mkdir domain-admin && cd domain-admin

# 创建虚拟环境
pyenv virtualenv 3.7.0 domain-admin

# 设置该目录的Python版本
echo 'domain-admin' > .python-version

# 查看当前Python版本
python --version
Python 3.7.0

# 升级pip
pip install --upgrade pip

# 安装domain-admin
pip install domain-admin

# 查看未使用的端口
lsof -i:5009

# 启动
gunicorn --bind '127.0.0.1:5009' 'domain_admin.main:app'

通过supervisor管理gunicorn进程

domain-admin.ini

[program: domain-admin]
directory=/opt/domain-admin
command=/opt/pyenv/versions/domain-admin/bin/gunicorn --bind '127.0.0.1:5009' 'domain_admin.main:app'
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/opt/domain-admin/logs/supervisor.log

使用gevent增加并发访问

[program: domain-admin]
directory=/opt/domain-admin
# command=/opt/pyenv/versions/domain-admin/bin/gunicorn --bind '127.0.0.1:5009' 'domain_admin.main:app'
command=bash -c "source /etc/profile.d/my_profile.sh && pyenv shell domain-admin && gunicorn --worker-class gevent --bind '127.0
.0.1:5009' 'domain_admin.main:app'"
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/opt/domain-admin/logs/supervisord.log

通过nginx代理

domain-admin.conf

server
{
    listen 5008;

    server_name localhost;

    error_log /usr/local/nginx/logs/domain-admin_error.log;
    access_log /usr/local/nginx/logs/domain-admin_access.log;

    # 代理服务器
   location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5009;
   }
}

如果是使用阿里云,则需要看安全组端口是否已开放

其他参考文章

  1. 安装Python
  1. 安装Nginx
  1. 安装MySQL
  1. 安装 Domain Admin
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐