MrDoc安装部署手册
简易运行
部署指南
Docker 部署 MrDoc(推荐)
Docker 镜像部署
Docker Compose 部署
管理 Docker 容器
Linux 部署 MrDoc
使用 Nginx + uWSGI 部署 MrDoc
一键部署脚本(已停止维护)
宝塔面板「Python 项目管理器1.9」部署
官方 Docker 镜像部署
Windows 部署 MrDoc
使用 Waitress 部署
Windows 部署面板
NAS 部署
极空间 NAS 部署
飞牛 FnOS 部署
更新升级说明
系统依赖库说明
原生部署转 Docker 部署
配置指南
配置文件说明
自定义数据库配置
文集生成 PDF 文件的配置
全文搜索配置
Docker 下使用 MySQL 数据库
MySQL 数据库支持 emoji 的配置
使用 Nginx 托管静态文件资源
使用 Nginx 开启 SSL / 设置 HTTPS
使用 Nginx 配置反向代理/绑定域名
Nginx 处理本地视频播放
自定义 uWSGI 配置
数据安全
站点数据备份/站点迁移
专业版数据导出与导入
开源版数据导出与导入
开源版 > 专业版数据迁移
常见问题
提示SQLite3版本错误怎么办?
管理员忘记密码怎么办?
报错:SyntaxError: invalid sysntax
MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value:)
宝塔面板「Python项目管理器」虚拟环境使用问题
查看日志/日志存储位置
Nginx/HTTPS 下登录、发布、上传、修改等POST/PUT请求报403错误
故障排查
打赏赞助记录
MrDoc 部署服务器配置建议
本站点使用「觅思文档专业版」构建
-
+
首页
部署指南
Linux 部署 MrDoc
使用 Nginx + uWSGI 部署 MrDoc
使用 Nginx + uWSGI 部署 MrDoc
# Linux 下使用 Nginx 反向代理部署 MrDoc > 如果对 Linux 操作不熟悉、不会使用命令行,或者不熟悉英文提示信息,建议优先阅读: > > 《Docker 部署》:https://doc.mrdoc.pro/doc/3958/ 本文介绍如何在 Linux 环境下使用: * Nginx(反向代理) * uWSGI(运行 Django) * systemctl(进程管理) 来部署 MrDoc。 本文示例环境: * Debian 10 * Python 3.9+ * 用户目录:`/home/zmister/` >i 文档中的 `/home/zmister/` 路径请根据自己的实际环境进行修改。 --- # 安装基础环境 ## 安装 Python 虚拟环境工具 ```bash sudo apt update sudo apt install python3 python3-venv python3-pip -y ``` ## 安装 Nginx ```bash sudo apt install nginx -y ``` ## 安装 uWSGI 推荐使用 pip 安装: ```bash pip3 install uwsgi ``` 安装完成后可以测试: ```bash uwsgi --version ``` --- # 拉取 MrDoc 源码 使用 Git 拉取源码: ```bash git clone https://gitee.com/zmister/MrDoc.git ``` 或者: ```bash git clone https://github.com/zmister2016/MrDoc.git ``` 拉取完成后目录结构如下: ```text /home/zmister/ ├── MrDoc ``` --- # 创建 Python 虚拟环境 为了避免影响系统 Python 环境,建议使用虚拟环境。 ## 创建虚拟环境 ```bash python3 -m venv /home/zmister/mrdoc_env ``` ## 激活虚拟环境 ```bash source /home/zmister/mrdoc_env/bin/activate ``` 激活成功后终端前面会出现: ```bash (mrdoc_env) ``` --- # 安装 MrDoc 依赖 ```bash pip install -r /home/zmister/MrDoc/requirements.txt ``` --- # 初始化数据库 ## 进入项目目录 ```bash cd /home/zmister/MrDoc ``` ## 执行数据库迁移 ```bash python manage.py migrate ``` ## 创建管理员账号 ```bash python manage.py createsuperuser ``` 按照提示输入: * 用户名 * 邮箱 * 密码 即可完成创建。 --- # 测试运行 正式部署之前,建议先测试项目能否正常启动: ```bash python manage.py runserver 0.0.0.0:8000 ``` 浏览器访问: ```text http://服务器IP:8000 ``` 如果能够正常打开 MrDoc 页面,则说明环境没有问题。 测试完成后按: ```text Ctrl + C ``` 停止运行。 --- # 创建部署目录 创建统一的部署配置目录: ```bash mkdir /home/zmister/mrdoc_deploy ``` 目录结构如下: ```text /home/zmister/ ├── MrDoc ├── mrdoc_deploy └── mrdoc_env ``` --- # 配置 uWSGI 在部署目录中新建配置文件: ```bash nano /home/zmister/mrdoc_deploy/mrdoc_uwsgi.ini ``` 写入以下内容: ```ini [uwsgi] # 项目目录 chdir = /home/zmister/MrDoc # Django WSGI module = MrDoc.wsgi:application # Python 虚拟环境 virtualenv = /home/zmister/mrdoc_env # 使用 HTTP 方式监听 http = 127.0.0.1:8008 # 主进程 master = true # 工作进程数 processes = 2 # 每个进程线程数 threads = 2 # 自动清理环境 vacuum = true # 退出时自动删除 die-on-term = true # 日志 daemonize = /home/zmister/mrdoc_deploy/uwsgi.log ``` --- # 配置 Nginx 反向代理 创建 Nginx 配置文件: ```bash nano /home/zmister/mrdoc_deploy/mrdoc_nginx.conf ``` 写入以下内容: ```nginx server { listen 80; # 修改为你的域名或服务器IP server_name _; charset utf-8; # 上传大小限制 client_max_body_size 100M; access_log /var/log/nginx/mrdoc_access.log; error_log /var/log/nginx/mrdoc_error.log; # 静态文件 location /static/ { alias /home/zmister/MrDoc/static/; expires 30d; } # 用户上传文件 location /media/ { alias /home/zmister/MrDoc/media/; expires 30d; } # 反向代理到 uWSGI HTTP 服务 location / { proxy_pass http://127.0.0.1:8008; 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; proxy_read_timeout 300; } } ``` --- # 创建 systemctl 服务 创建服务文件: ```bash nano /home/zmister/mrdoc_deploy/mrdoc.service ``` 写入以下内容: ```ini [Unit] Description=MrDoc Service After=network.target [Service] User=zmister Group=zmister WorkingDirectory=/home/zmister/MrDoc ExecStart=/home/zmister/mrdoc_env/bin/uwsgi --ini /home/zmister/mrdoc_deploy/mrdoc_uwsgi.ini Restart=always RestartSec=5 [Install] WantedBy=multi-user.target ``` --- # 注册 systemctl 服务 复制服务文件: ```bash sudo cp /home/zmister/mrdoc_deploy/mrdoc.service /etc/systemd/system/ ``` 重新加载 systemd: ```bash sudo systemctl daemon-reload ``` 设置开机启动: ```bash sudo systemctl enable mrdoc ``` 启动服务: ```bash sudo systemctl start mrdoc ``` 查看运行状态: ```bash sudo systemctl status mrdoc ``` --- # 配置 Nginx 站点 创建软链接: ```bash sudo ln -s /home/zmister/mrdoc_deploy/mrdoc_nginx.conf /etc/nginx/sites-enabled/mrdoc_nginx.conf ``` 测试 Nginx 配置: ```bash sudo nginx -t ``` 如果提示: ```text test is successful ``` 则说明配置正确。 重新加载 Nginx: ```bash sudo systemctl reload nginx ``` --- # 访问 MrDoc 现在即可通过浏览器访问: ```text http://服务器IP ``` 或者: ```text http://你的域名 ``` --- # 常用命令 ## 查看 MrDoc 运行状态 ```bash sudo systemctl status mrdoc ``` ## 重启 MrDoc ```bash sudo systemctl restart mrdoc ``` ## 停止 MrDoc ```bash sudo systemctl stop mrdoc ``` ## 查看 uWSGI 日志 ```bash tail -f /home/zmister/mrdoc_deploy/uwsgi.log ``` ## 查看 Nginx 日志 ```bash tail -f /var/log/nginx/mrdoc_error.log ``` --- # HTTPS 配置(推荐) 生产环境建议使用 HTTPS。 如果已经有域名,可以配合 Certbot 免费申请 SSL 证书: ```bash sudo apt install certbot python3-certbot-nginx -y ``` 执行: ```bash sudo certbot --nginx ``` 根据提示操作即可自动完成 HTTPS 配置。 --- # 部署完成 至此,你已经完成: * Nginx 反向代理 * uWSGI 部署 Django * systemctl 进程管理 * 静态资源配置 * HTTPS 支持(可选) 的完整 MrDoc 部署。
州的先生
2026年5月30日 14:38
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档
PDF文档(打印)