鱼C论坛

 找回密码
 立即注册
查看: 77|回复: 8

[已解决]Django怎么部署到公司局域网服务器?

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近想用DJANGO搭载MYSQL来做一个安装在公司局域网服务器的内网网站,实现一个自动报价系统和设计系统。
现在遇到了问题,DJANGO这些怎么部署到服务器,公司局域网的就行,网上看视频都没提到这块的,有点迷茫。
求大神指点。
最佳答案
5 天前
颂风侯 发表于 2025-08-25 09:54
另外,我想能不能就我我自己的连入局域网的电脑来作为 ...


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

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

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

**详细步骤:**

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

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

  1.         # 安全做法:添加你的IP
  2.         ALLOWED_HOSTS =

  3.         # 或者(极度不安全,但内网测试最方便)
  4.         ALLOWED_HOSTS =
  5.         
复制代码


3.  **启动 Django 开发服务器并绑定到所有接口**
    *   在你的项目目录下,运行以下命令。关键是把地址从默认的 `127.0.0.1` 换成 `0.0.0.0`。
      

  1.         python manage.py runserver 0.0.0.0:8000
  2.         
复制代码

    *   你会看到类似下面的输出,说明服务器正在监听所有网络接口:
        `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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层
你好!部署 Django 项目到公司局域网服务器其实并不复杂,下面我为你整理一个清晰的步骤指南。

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

详细步骤:

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


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

3.  创建虚拟环境并安装依赖(推荐)
    *   进入你的项目目录。
    *   创建虚拟环境(隔离项目依赖):
      
  1. python -m venv venv
复制代码

    *   激活虚拟环境:
        *   Linux:
           
  1. source venv/bin/activate
复制代码

        *   Windows:
           
  1. .\venv\Scripts\activate
复制代码

    *   安装项目所需的依赖包(通常在项目根目录的 requirements.txt 文件中):
      
  1. pip install -r requirements.txt
复制代码

    *   别忘了安装数据库驱动:
      
  1. pip install mysqlclient
复制代码
# 或者在Windows上可能用 `pip install mysqlclient`

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


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


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


7.  启动开发服务器进行测试(最简单的方法)
    *   运行以下命令,让 Django 开发服务器监听所有网络接口(0.0.0.0):
      
  1. python manage.py runserver 0.0.0.0:8000
复制代码

    *   现在,局域网内的其他电脑就可以通过浏览器访问 [url=http://你的服务器IP:8000]http://你的服务器IP:8000[/url] 来看到你的网站了。

8.  使用生产级服务器(更稳定,推荐)
    *   Django 自带的开发服务器性能较弱且不安全,仅适合调试。
    *   建议使用 Gunicorn 或 uWSGI 作为应用服务器,配合 Nginx 作为反向代理服务器。
    *   一个简单的使用 Gunicorn 的方式:
        *   安装 Gunicorn:
  1. pip install gunicorn
复制代码

        *   启动 Gunicorn:
           
  1. gunicorn --bind 0.0.0.0:8000 your_project_name.wsgi:application
复制代码
# 将 your_project_name 替换为你的项目名称
        *   这样同样可以通过 [url=http://你的服务器IP:8000]http://你的服务器IP:8000[/url] 访问。

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
有视频能推荐看着照着操作的吗,或者pdf之类呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
服务器是windows server
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
颂风侯 发表于 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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
另外,我想能不能就我我自己的连入局域网的电脑来作为服务器主机呢,让局域网内能访问即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层    本楼为最佳答案   
颂风侯 发表于 2025-08-25 09:54
另外,我想能不能就我我自己的连入局域网的电脑来作为 ...


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

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

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

**详细步骤:**

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

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

  1.         # 安全做法:添加你的IP
  2.         ALLOWED_HOSTS =

  3.         # 或者(极度不安全,但内网测试最方便)
  4.         ALLOWED_HOSTS =
  5.         
复制代码


3.  **启动 Django 开发服务器并绑定到所有接口**
    *   在你的项目目录下,运行以下命令。关键是把地址从默认的 `127.0.0.1` 换成 `0.0.0.0`。
      

  1.         python manage.py runserver 0.0.0.0:8000
  2.         
复制代码

    *   你会看到类似下面的输出,说明服务器正在监听所有网络接口:
        `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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
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 ...

武老师这个太难了,我按上面的可以在局域网内测了,谢谢兄弟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-30 11:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表