百度云虚拟机访问项目404

本文讲述了在百度云虚拟机上遇到404错误的情况,重点在于通过检查并修改Nginx配置文件以及站点目录下的内容来解决问题。将ThinkPHP5.1项目的index.php移动到根目录,并替换文件内容后,重启Nginx服务,经过一段时间的等待,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度云给的站点目录下的nginx.htaccess文件没啥鬼用这可真是坑死人,在webroot目录下找到bcloud_nginx_gen.conf文件替换修改其中内容即可。

例如将thinkPHP5.1的项目放到webroot下(这里的tp项目小编已经将index.php移出到根目录下了)直接将bcloud_nginx_gen.conf文件的内容替换掉

location / {
   if (!-e $request_filename) {
   		rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
}

修改完重启站点等待好久一阵就可以了

在这里插入图片描述

### 如何在百度云上部署或使用 Django #### 百度云概述 百度云(现称为百度智能云)提供了多种服务来支持开发者构建和托管 Web 应用程序。虽然官方文档可能更倾向于介绍其 AI 和大数据功能,但在百度云服务器上部署 Django 项目的过程与其他主流云计算平台(如腾讯云、阿里云)基本一致。 以下是针对百度云的具体说明: --- #### 部署前准备 1. **购买并配置实例** 购买一台适合运行 Django 的虚拟机实例,并确保操作系统已安装 Python 和必要的依赖项[^4]。 2. **设置安全组规则** 打开 HTTP (端口 80) 和 HTTPS (端口 443),以及 uWSGI 或 Gunicorn 使用的自定义端口(通常为 8000)。这一步可以通过百度云控制台的安全组管理页面完成[^5]。 --- #### 步骤详解 ##### 1. 初始化环境 通过 SSH 登录到您的百度云服务器后,执行以下命令初始化开发环境: ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3-pip python3-dev libpq-dev nginx git -y pip3 install --upgrade pip ``` ##### 2. 创建虚拟环境 为了隔离不同项目的依赖关系,建议为每个 Django 项目单独创建一个虚拟环境: ```bash python3 -m venv myproject_env source myproject_env/bin/activate ``` 激活成功后,在终端提示符前方应显示 `(myproject_env)` 表明当前处于该虚拟环境中[^5]。 ##### 3. 安装必要库 进入虚拟环境后,利用 `requirements.txt` 文件批量安装所需包;如果没有此文件,则手动指定需要加载的内容: ```bash pip install django gunicorn psycopg2-binary ``` ##### 4. 配置数据库连接 编辑位于项目根目录下的 `settings.py` 文件中的 DATABASES 字典部分,将其改为指向远程 PostgreSQL 数据源或其他兼容选项。例如: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'your_db_name', 'USER': 'db_user', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } } ``` 注意替换占位符变量以匹配实际情况[^3]。 ##### 5. 运行迁移脚本 初次启动之前需同步模型结构至目标存储引擎内: ```bash python manage.py migrate ``` ##### 6. 设置静态资源路径 同样修改 `settings.py` 添加如下几行代码以便于处理 CSS / JS 等前端素材: ```python STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') ``` 随后收集所有应用内的静态文件集中放置一处供后续 Nginx 访问: ```bash python manage.py collectstatic ``` ##### 7. 启动 WSGI 服务器 Gunicorn 是一种流行的 WSGI 协议实现工具,用于承载生产级别的请求流量。测试阶段可简单调用它作为临时网关层: ```bash gunicorn your_project.wsgi:application --bind 0.0.0.0:8000 ``` ##### 8. 整合反向代理——Nginx 最后调整 `/etc/nginx/sites-available/default` 中的服务描述片段使之能够转发外部访问至内部监听地址: ```nginx server { listen 80; server_name _; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /path/to/your/project/; } location / { include proxy_params; proxy_pass http://unix:/run/gunicorn.sock; } } ``` 记得重启 Nginx 生效更改: ```bash sudo systemctl restart nginx ``` --- #### 常见问题排查 - 如果遇到权限错误,请确认用户是否有权读取相关目录及子文件夹; - 对于模板找不到的情况,请核查 TEMPLATES 列表里 APP_DIRS 参数是否开启; - 当调试模式关闭却依然暴露敏感信息时,务必检查 ALLOWED_HOSTS 是否正确设定[^4]。 --- #### 总结 综上所述,在百度云平台上搭建 Django 已经成为一件相对成熟的事情,只需遵循标准流程即可顺利达成目的。尽管具体细节可能会因个人需求而有所差异,但核心思路保持不变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值