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文档(打印)