第一篇博客


root 2025年03月17日 03时42分 发布

nginx

主要配置文件路径

站点配置文件路径

  1. 测试Nginx配置:bash深色版本 sudo nginx -t
  2. 重新加载Nginx: 如果测试通过,运行以下命令重新加载Nginx:bash深色版本 sudo systemctl reload nginx

第一步

安装python3.12

 在Ubuntu上安装Python 3.12,你可以按照以下步骤操作: ​ 更新和升级系统包 首先,确保你的系统包是最新的。打开终端并运行: ​ Bash 深色版本 sudo apt update sudo apt upgrade 安装依赖项 为了成功编译Python源码,你需要安装一些必要的工具和库: ​ Bash 深色版本 sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libnss3-dev libreadline-dev libffi-dev curl libsqlite3-dev uuid-dev 下载Python 3.12源码 访问Python官方网站找到最新的发布版本下载链接,或者直接使用wget命令下载: ​ Bash 深色版本 cd /usr/src sudo wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz 注意:请检查链接是否为最新版本。 ​ 解压源码文件 下载完成后,解压缩文件: ​ Bash 深色版本 sudo tar xzf Python-3.12.0.tgz 编译源码 进入解压后的目录,并开始配置和编译过程: ​ Bash 深色版本 cd Python-3.12.0 sudo ./configure --enable-optimizations sudo make -j$(nproc) 这里的-j$(nproc)选项会根据你系统的处理器核心数加速编译过程。 ​ 安装Python 最后一步是安装Python: ​ Bash 深色版本 sudo make altinstall 请注意使用altinstall而非install,以避免覆盖系统默认的python版本。 ​ 完成以上步骤后,你应该能够在终端中通过输入python3.12来启动新安装的Python版本了。希望这对你有帮助!如果有任何问题或需要进一步的帮助,请随时告诉我。

第二步 安装pip3

第三步 安装venv 后面的步骤都安装在虚拟环境中

 python3 -m venv blog source blog/bin/activate deactivate ​ 虚拟环境的目录内(/www/wwwroot/blog/blog) source blog/bin/activate

第四步 安装django

第五步 安装mysql

 登录MySQL: 现在可以直接以root身份登录,不需要密码。 Bash 深色版本 mysql -u root 修改root密码: 在MySQL命令行中执行以下SQL语句来更改密码。注意,对于MySQL 8.0及以上版本,请使用authentication_string字段。 Sql 深色版本 FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

root 1234

第六步 安装pkg-config mysqlclient

 sudo apt-get install python3-dev default-libmysqlclient-dev libmysqlclient-dev pkg-config build-essential pip install mysqlclient

第七步 创建bloguser

 从错误信息来看,尽管您尝试使用 root 用户连接 MySQL 数据库,但访问仍然被拒绝。为了确保安全性和最佳实践,建议创建一个专门用于 Django 项目的 MySQL 用户,并使用该用户进行数据库连接。 ​ 以下是详细的步骤来解决这个问题: ​ 1. 创建一个新的 MySQL 用户并授予权限 首先,登录到 MySQL 并创建一个新的用户(例如 bloguser),然后授予该用户对 blog 数据库的所有权限。 ​ 登录 MySQL Bash 深色版本 mysql -u root -p 输入 root 用户的密码后进入 MySQL 命令行。 ​ 创建新用户并授予权限 在 MySQL 提示符下执行以下命令: ​ Sql 深色版本 -- 创建新用户 CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'your_password'; ​ -- 授予所有权限给新用户 GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@'localhost'; ​ -- 刷新权限 FLUSH PRIVILEGES; ​ -- 退出 MySQL EXIT; 请将 'your_password' 替换为您希望设置的实际密码。 ​ 2. 更新 Django 项目的 settings.py 文件 接下来,更新您的 Django 项目的 settings.py 文件,以使用新的数据库用户。 ​ 找到 DATABASES 配置部分,并修改为如下内容: ​ Python 深色版本 DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',         'NAME': 'blog',  # 数据库名称         'USER': 'bloguser',  # 新创建的数据库用户名         'PASSWORD': 'your_password',  # 新创建的数据库用户密码         'HOST': '127.0.0.1',  # 或者您数据库服务器的实际IP地址/域名         'PORT': '3306',  # MySQL 默认端口     } } 请确保将 'your_password' 替换为您之前设置的实际密码。 ​ 3. 测试新用户的数据库连接 在命令行中测试新用户的数据库连接,以确保一切正常: ​ Bash 深色版本 mysql -u bloguser -p -h localhost blog 输入密码后,如果能够成功登录并查看数据库内容,则说明权限配置正确。 ​ 4. 运行 Django 命令 回到 Django 项目目录并运行以下命令,检查是否能成功生成迁移文件: ​ Bash 深色版本 python manage.py makemigrations 如果一切配置正确,您应该不会再看到 Access denied 错误。 ​ 完整的操作步骤 以下是完整的操作步骤汇总: ​ 登录 MySQL 并创建新用户: Bash 深色版本 mysql -u root -p 在 MySQL 提示符下执行: Sql 深色版本 CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@'localhost'; FLUSH PRIVILEGES; EXIT; 更新 Django 项目的 settings.py 文件: 编辑 settings.py 文件,更新数据库配置: Python 深色版本 DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',         'NAME': 'blog',         'USER': 'bloguser',         'PASSWORD': 'your_password',         'HOST': '127.0.0.1',         'PORT': '3306',     } } 测试新用户的数据库连接: Bash 深色版本 mysql -u bloguser -p -h localhost blog 运行 Django 命令: 回到 Django 项目目录并运行: Bash 深色版本 python manage.py makemigrations

Gunicorn

 python -m gunicorn zhiliaoblog.wsgi:application --bind 0.0.0.0:8001 ​ python manage.py runserver 127.0.0.1:8001 ​ 后台运行 nohup python -m gunicorn zhiliaoblog.wsgi:application --workers 3 --bind 0.0.0.0:8001 & ​ ​ nohup npm run dev > my.log 2>my.log & exit

无法访问静态文件需要在nginx定位静态文件位置



评论(0)