颂风侯 发表于 2025-8-25 09:42:18

Django怎么部署到公司局域网服务器?

最近想用DJANGO搭载MYSQL来做一个安装在公司局域网服务器的内网网站,实现一个自动报价系统和设计系统。
现在遇到了问题,DJANGO这些怎么部署到服务器,公司局域网的就行,网上看视频都没提到这块的,有点迷茫。
求大神指点。

FishC 发表于 2025-8-25 09:43:26

你好!部署 Django 项目到公司局域网服务器其实并不复杂,下面我为你整理一个清晰的步骤指南。

核心思路:
将你的 Django 项目代码放到服务器上,安装好运行环境(Python、依赖库、数据库),然后启动一个能让局域网内其他电脑访问到的服务器。

详细步骤:

1.准备服务器
    *   确保服务器上已经安装了 Python(版本要符合你的项目要求)、MySQL 和 pip。
    *   可以使用命令检查是否安装:
      python --version
      pip --version
      mysql --version

2.上传项目代码
    *   将你的整个 Django 项目文件夹拷贝到服务器上你希望放置的目录,例如 /opt/myproject。
    *   可以通过 U 盘、共享文件夹、或者使用 scp 命令(如果服务器是 Linux 且开启了 SSH)进行传输。

3.创建虚拟环境并安装依赖(推荐)
    *   进入你的项目目录。
    *   创建虚拟环境(隔离项目依赖):
      python -m venv venv
    *   激活虚拟环境:
      *   Linux:
            source venv/bin/activate
      *   Windows:
            .\venv\Scripts\activate
    *   安装项目所需的依赖包(通常在项目根目录的 requirements.txt 文件中):
      pip install -r requirements.txt
    *   别忘了安装数据库驱动:
      pip install mysqlclient# 或者在Windows上可能用 `pip install mysqlclient`

4.配置数据库
    *   登录 MySQL,为你的项目创建一个新的数据库和用户,并授予权限。
    *   修改 Django 项目的配置文件 settings.py,正确配置数据库连接信息(NAME, USER, PASSWORD, HOST)。
      DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'NAME': 'your_database_name',
                'USER': 'your_mysql_username',
                'PASSWORD': 'your_mysql_password',
                'HOST': 'localhost',# 如果MySQL就在本服务器上
                'PORT': '3306',
            }
      }

5.应用数据库迁移和收集静态文件
    *   在项目目录下,执行以下命令:
      python manage.py migrate
      python manage.py collectstatic

6.修改Django设置以允许局域网访问
    *   在 settings.py 中,找到 ALLOWED_HOSTS 配置。
    *   添加你的服务器的局域网 IP 地址(例如 192.168.1.100),或者直接允许所有主机(仅建议在内网调试时这样设置):
      ALLOWED_HOSTS = ['192.168.1.100', 'localhost', '127.0.0.1']# 替换为你的服务器IP
      # 或者(不安全,仅临时测试用)
      # ALLOWED_HOSTS = ['*']

7.启动开发服务器进行测试(最简单的方法)
    *   运行以下命令,让 Django 开发服务器监听所有网络接口(0.0.0.0):
      python manage.py runserver 0.0.0.0:8000
    *   现在,局域网内的其他电脑就可以通过浏览器访问 ]http://你的服务器IP:8000 来看到你的网站了。

8.使用生产级服务器(更稳定,推荐)
    *   Django 自带的开发服务器性能较弱且不安全,仅适合调试。
    *   建议使用 Gunicorn 或 uWSGI 作为应用服务器,配合 Nginx 作为反向代理服务器。
    *   一个简单的使用 Gunicorn 的方式:
      *   安装 Gunicorn: pip install gunicorn
      *   启动 Gunicorn:
            gunicorn --bind 0.0.0.0:8000 your_project_name.wsgi:application# 将 your_project_name 替换为你的项目名称
      *   这样同样可以通过 ]http://你的服务器IP:8000 访问。

重要提醒:
*   上述步骤 7 和 8 中的方式是为了让你快速在内网跑起来。对于真正的生产环境,强烈建议使用步骤 8 的生产级服务器(Gunicorn/uWSGI + Nginx)并进行更详细的安全和性能配置。
*   如果公司服务器是 Windows,步骤可能略有不同,但整体流程一致。
*   确保服务器的防火墙开放了您使用的端口(例如 8000)。

希望这个指南能帮你成功部署!如果遇到具体问题,可以再随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

颂风侯 发表于 2025-8-25 09:46:41

有视频能推荐看着照着操作的吗,或者pdf之类呢

颂风侯 发表于 2025-8-25 09:47:13

服务器是windows server

FishC 发表于 2025-8-25 09:47:24

颂风侯 发表于 2025-08-25 09:46
有视频能推荐看着照着操作的吗,或者pdf之类呢

当然有!虽然我不能直接提供链接,但我可以告诉你怎么找到这些资源,以及搜索时应该用哪些关键词,这样你很快就能找到合适的视频或文档。

**核心搜索关键词:**
*   `Django 部署 局域网`
*   `Django 内网部署`
*   `Django Gunicorn Nginx 部署`
*   `Django Windows 部署` (如果公司服务器是Windows系统)
*   `Django Linux 部署` (如果公司服务器是Linux系统,如CentOS或Ubuntu)

**在哪里找:**

1.**Bilibili (B站)**:这是学习技术视频的绝佳地方。上面的教程非常丰富,而且很多都是中文的,步骤详细。
    *   搜索上面提到的关键词,比如 **“Django 内网部署”**。
    *   找一个**播放量高、评论反馈好、发布时间相对较新**的视频。注意看视频简介里是否包含了从环境配置到最终运行的完整过程。

2.**百度、谷歌等搜索引擎**:
    *   同样搜索上述关键词。
    *   可以尝试在搜索词后加上 **“PDF”** 或 **“教程”**,例如:**“Django 部署 教程 PDF”**。这样可能会找到一些技术博客整理的详细文字教程,这些教程通常步骤清晰,可以打印或保存下来对照操作。

**选择教程时的注意事项:**

*   **看环境**:注意视频或教程里使用的**操作系统**(Windows / Linux)和**Python版本**是否和你公司服务器的一致。这会避免很多环境错误。
*   **看组件**:理想的教程应该包含 **Django + MySQL + Gunicorn/uWSGI + Nginx** 这套组合的部署过程。如果教程只用了Django自带的开发服务器(`runserver`),那它只适合临时测试,你需要再找一个讲生产环境部署的作为补充。
*   **跳过不必要的部分**:很多教程会从购买云服务器开始讲,**你可以直接跳过“购买域名”、“备案”、“配置云安全组”这些和外网相关的章节**,重点关注在服务器本机上安装配置软件、修改配置文件、启动服务这些步骤。

**一个简单的自学路径建议:**

1.先找一个最简单的 **“Django runserver 局域网访问”** 视频,快速实现能用IP地址访问的目标,建立信心。
2.再找一个完整的 **“Django Nginx Gunicorn MySQL 部署”** 视频,跟着做一遍,实现更稳定可靠的部署。

虽然看视频感觉更直观,但**一定要理解每一步命令是在做什么**,这样遇到问题时才知道如何排查。祝你部署成功!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

颂风侯 发表于 2025-8-25 09:54:01

另外,我想能不能就我我自己的连入局域网的电脑来作为服务器主机呢,让局域网内能访问即可

FishC 发表于 2025-8-25 09:55:05

颂风侯 发表于 2025-08-25 09:54
另外,我想能不能就我我自己的连入局域网的电脑来作为 ...

当然可以!完全可以使用你连入公司局域网的个人电脑作为服务器主机,这是非常常见且方便的测试和部署方式。

以下是详细的步骤指南,专门针对“用自己电脑做服务器”这个场景:

**核心原理:**
让你的 Django 开发服务器监听所有网络接口(而不仅仅是本地),然后局域网内的其他电脑通过你的电脑的**局域网 IP 地址**来访问。

**详细步骤:**

1.**确保你的电脑和同事电脑在同一个局域网**
    *   最简单的方法:都连接同一个 WiFi,或者都插在同一个交换机/路由器的网线上。

2.**修改 Django 设置以允许局域网访问**
    *   打开你的 Django 项目中的 `settings.py` 文件。
    *   找到 `ALLOWED_HOSTS` 这个配置项。将其修改为你的电脑的局域网 IP,或者直接允许所有主机(**仅限内网测试时这样用,非常不安全**)。
      
      # 安全做法:添加你的IP
      ALLOWED_HOSTS =

      # 或者(极度不安全,但内网测试最方便)
      ALLOWED_HOSTS =
      

3.**启动 Django 开发服务器并绑定到所有接口**
    *   在你的项目目录下,运行以下命令。关键是把地址从默认的 `127.0.0.1` 换成 `0.0.0.0`。
      
      python manage.py runserver 0.0.0.0:8000
      
    *   你会看到类似下面的输出,说明服务器正在监听所有网络接口:
      `Watching for file changes with StatReloader`
      `Performing system checks...`
      `System check identified no issues (0 silenced).`
      `You have 18 unapplied migration(s). ...`
      `Starting development server at http://0.0.0.0:8000/`
      `Quit the server with CTRL-BREAK.`

4.**查询你电脑的局域网 IP 地址 (IPv4 地址)**
    *   **Windows 系统:**
      *   按 `Win + R` 键,输入 `cmd` 打开命令提示符。
      *   输入命令 `ipconfig` 并回车。
      *   在输出结果中找到“无线局域网适配器 WLAN”或“以太网适配器 以太网”下面的 **“IPv4 地址”**,通常格式是 `192.168.x.x` 或 `10.x.x.x`。
    *   **macOS / Linux 系统:**
      *   打开终端。
      *   输入命令 `ifconfig` 或 `ip addr` 并回车,找到 `inet` 后面的地址(同样是 `192.168.x.x` 这类格式)。

5.**让同事访问你的网站**
    *   告诉你同事,在他的浏览器地址栏输入:`http://<你的IP地址>:8000`
    *   例如,你的 IP 是 `192.168.1.105`,那么就让他访问 `http://192.168.1.105:8000`

**可能遇到的问题和解决方法:**

*   **防火墙阻止访问**
    *   这是最常见的问题。Windows 防火墙可能会阻止外部对 8000 端口的访问。
    *   **解决方法**:在第一次运行 `runserver` 时,Windows 通常会弹出安全警报,询问是否允许访问,请选择“允许”。如果没弹出,可以手动在 Windows 防火墙设置中添加入站规则,允许 TCP 端口 8000。

*   **电脑休眠或锁屏导致服务中断**
    *   如果你的电脑进入休眠或睡眠状态,服务器进程会暂停,网站也就无法访问了。请确保电脑保持唤醒状态。

*   **性能问题**
    *   你的个人电脑性能、同时运行的软件多少都会影响网站的响应速度。对于小范围内部测试和使用,这通常不是问题。

**重要提醒:**

*   **仅限内网**:这种方式启动的服务器是 **Django 自带的开发服务器**,性能和安全性都不足以应对真正的互联网生产环境。**但它对于公司局域网内部测试和试用来说是绝对足够和方便的。**
*   **临时性**:只要你关闭了命令提示符窗口(停止了 `runserver`),服务就中断了,其他人就无法访问。
*   **下一步**:如果这个内网系统后期需要 7x24 小时稳定运行,那时再考虑将其部署到一台专门的、不关机的服务器上,并采用 `Gunicorn + Nginx` 的生产环境部署方式。

希望这个指南能让你顺利地在自己的电脑上把服务跑起来!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

sunshine_8205 发表于 2025-8-25 10:23:28

https://www.bilibili.com/video/BV175eAzgEnP/?spm_id_from=333.337.search-card.all.click&vd_source=bb20cf4d2d633ae41ba70d9288aa5dd5

颂风侯 发表于 2025-8-25 14:45:14

sunshine_8205 发表于 2025-8-25 10:23
https://www.bilibili.com/video/BV175eAzgEnP/?spm_id_from=333.337.search-card.all.click&vd_source=bb2 ...

武老师这个太难了,我按上面的可以在局域网内测了,谢谢兄弟
页: [1]
查看完整版本: Django怎么部署到公司局域网服务器?