sudo adduser tonytan
chmod -R 640 /etc/sudoers
sudo vim /etc/sudoers
chmod -R 440 /etc/sudoers
或者使用
sudo visudo
sudo update-alternatives --config editor
source ~/.bashrc
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.sh
bash Miniconda3-py310_22.11.1-1-Linux-x86_64.sh
source ../.bashrc
conda create -n fastapi python=3.9
pip install -r requestment.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
我们可以通过在用户的Home目录下创建一个pip目录,然后在pip目录下创建一个pip.conf文件来实现将新源设置为默认源:
mkdir ~/.pip
echo "
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
" > ~/.pip/pip.conf
以上命令将新源写到了pip.conf中,在下一次使用pip的时候,就会使用新源了。我们可以通过以下命令来验证是否设置成功:
more ~/.pip/pip.conf
cd /www/wwwroot/voucher_shubi_apis/
pip install "fastapi[all]"
pip install gunicorn
pip install pyopenssl
pip install python-jose[cryptography]
sudo apt-get install supervisor
sudo apt-get install redis-server
sudo apt-get install gunicorn
sudo vim /etc/supervisor/conf.d/voucher.conf
[program: voucher_8000]
command=/home/tonytan/miniconda3/envs/fastapi/bin/gunicorn main:app -w 4 --worker-class uvicorn.workers.UvicornWorker -b 0.0.0.0:8000
command=/home/tonytan/miniconda3/envs/voucher/bin/gunicorn -w 1 -b 0.0.0.0:8202 activity_voucher_admin.wsgi
command=/home/tonytan/miniconda3/envs/fastapi/bin/gunicorn main:app -c gunicorn.conf
directory=/www/wwwroot/activity_voucher_apis
user = root
redirect_stderr=true
stdout_logfile = /var/log/supervisor/stdout.log
stderr_logfile = /var/log/supervisor/stderr.log
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8
[program:voucher_huey]
command=/home/tonytan/miniconda3/envs/voucher/bin/python3 manage.py run_huey -w 1
directory = /www/wwwroot/activity_voucher_admin
user = root
redirect_stderr=true
stdout_logfile = /var/log/supervisor/voucher_stdout.log
stderr_logfile = /var/log/supervisor/voucher_stderr.log
environment=DOMAIN=pro
# 并行工作进程数
workers = 4
# 指定每个工作者的线程数
threads = 2
# 监听内网端口5000
bind = '127.0.0.1:5000'
# 设置守护进程,将进程交给supervisor管理
daemon = 'false'
# 工作模式协程
worker_class = 'gevent'
# 设置最大并发量
worker_connections = 2000
# 设置进程文件目录
pidfile = '/var/run/gunicorn.pid'
# 设置访问日志和错误信息日志路径
accesslog = '/var/log/gunicorn_acess.log'
errorlog = '/var/log/gunicorn_error.log'
# 设置日志记录水平
loglevel = 'warning'
wenzhou.trust-will.com
upstream wenzhou_apis {
least_conn;
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
location / {
proxy_pass http://wenzhou_apis;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
root /www/wwwroot/zsgh_page/zsgh-admin/dist;
index index.html;
}
location /docs/_book {
alias /www/wwwroot/zsgh_admin/docs/_book;
}
location /static/admin {
alias /www/wwwroot/zsgh_admin/static/admin;
}
location /static {
alias /www/wwwroot/zsgh_admin/static;
}
location /media {
alias /www/wwwroot/zsgh_admin/media;
}
npm 版本尽量不要选择最新版,按照管理工具 n
命令行输入 n
, 列出当前有的版本,选择一个不是最新的
初始化
增加文档目录和文件
文件格式:
# 报名新增/编辑
## 请求项
* URL: `https://voucher.trust-will.com/car_register_v2/register_list`
* 请求方法: POST
* 请求说明:
* 请求头:
`
HTTP_TOKEN: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtaWQiOjEsImNpZCI6MSwiaXNfYXV0aCI6InN1Y2Nlc3MifQ.30RydW8WL14QXpHMzsTwDh6rSlKeaM3MdHMw_Fta9fU
`
* 请求参数:
|参数|名称|类型|必填|备注|
|---|---|---|---|---|
|register_id|报名ID|Int|选填|修改报名信息时为必填|
|cid|城市ID|Int|必填|-|
* 备注:
* 修改报名信息,发票金额和补贴等级不会修改,前端要在报名编辑页面将这2项设置为灰色不能编辑的样式,这2项数据仍然要提交
* 报名信息使用任务队列,除在进入任务前会返回失败状态,如活动已停止,数据缺失等,在任务处理中也会出现错误。前端在接收到提交成功后可直接跳转到列表页
* 图片先调oss接口上传后,将oss的图片地址在本接口提交
* 请求示例
`
{
"register_id": 12,
"cid": 1,
}
`
## 返回项
* 返回参数
|参数|名称|类型|备注|
|---|---|---|---|
|code|返回码|Int||
|msg|返回说明|Str||
|result|结果集|Obj||
* 返回示例
`
{
"code": 0,
"msg": "提交成功",
"result": {}
}
`
* 错误码
|Code|说明|备注|
|---|---|---|
|0|正确||