当前位置:首页 > CN2资讯 > 正文内容

云服务器上部署chatgpt 云服务器部署django

20小时前CN2资讯


最近自己搭建了一个网站,想着把它部署到阿里云上,遇到了各种bug,好在一步步查询解决,成功上传,再此记录一下,同时也感谢在我遇到bug时大佬们的博客为我解答

  • 注意首先自己的项目必须能在本地运行
  • 我使用的版本号
  • django==3.0.8
  • python3.8
  • 阿里云我选择的是Ubuntu 20.04版本
  • nginx与uwsgi安装最新版即可
初始化操作
  • 需要安装两个操作云服务的软件xshell和xftp
  • 也直接直接在阿里云里面使用网页远程连接与上传文件
  • 我是同时使用了xftp和xshell
  • 用xftp用来上传文件
  • 用xshell来操作我的云服务器
安装服务器的环境
  • 不同的项目肯定要创建不同的虚拟环境,首先创建虚拟环境

sudo apt-get update
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

  • 配置文件打开/.bashrc

vim ~/.bashrc
在末尾添加以下数据
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME = $HOME/.virtualenvs
source /usr/local/bin/
运行source ~/.bashrc

  • 创建虚拟环境

mkvirtualenv -p python3 环境名
进入虚拟环境
workon 环境名

  • 在虚拟环境里面安装django项目需要的包
  • pip3 install -r 包文件
数据库
  • 安装mysql数据库

apt-get install mysql-server
apt-get install mysql-client

  • 进入数据库

mysql -uroot -p

  • 创建一个和自己django项目连接的数据库一样的名字

create database 数据库名

  • 注意!!! 注意!!! 注意!!!
  • 在这里运行项目是会报一个错误,我的数据库里面是没有数据的,可以按以下来操作,如果数据库还有数据,请参考其他大佬的博客
  • 在迁移数据库时会报错误django.db.utils.InternalError: (1698, “Access denied for user ‘root’@‘localhost’”)
  • 解决办法,创建一个新的数据库用户

create user ‘用户名’@’%’ identified by ‘密码’;
grant all on . to ‘用户名’@’%’;
flush privileges;

  • 将django项目里面连接的数据库改成自己新创建的用户即可
  • 生成迁移文件

python manage.py makemigrations

  • 执行迁移文件

python manage.py migrate

  • 配置数据库

vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释本地
bind-address = localhost

  • 创建django后台管理

python manage.py createsuperuser

  • 本地项目现在已经部署到阿里云上了执行python manage.py runserver就可以看到和本地运行一样的效果了
uwsgi
  • 首先需要在自己django项目中创建wsgi.py文件才可以使用uwsgi
  • 安装

apt-get install build-essential python3
apt-get install python3-dev
pip3 install uwsgi

  • 测试是否安装成功
  • 编写一个test.py文件
def application(env, start_response): start_response('200 OK',[('Content-Type,'text/html')]) return [b'hello']
  • 输入uwsgi --http-socket :80 --wsgi-file test.py(注意:socket和:之间一定要有空格)
  • 在浏览器输入阿里云公网ip即可显示hello
  • 在和manage.py同级目录下创建uwsgi.ini
  • 编辑uwsgi.ini

[uwsgi]
chdir = /home/xxxx # 项目的路径
http = 127.0.0.1:8080 # 直接使用uwsgi坐web服务器时
#socket = :8080 # 和nginx配套使用时设置的端口
master = true
processes = 5 # 指定进程数
threads = 2 # 指定线程数
daemonize = /home/xxxxxx/uwsgi.log # 创建日志文件
disable-logging = true # 只收集错误日志
module = xxxx.wsgi # wsgi文件的路径
wsgi-file = xxxxx/wsgi.py # 项目中wsgi.py位置
pidfile = /home/xxx/uwsgi.pid # 保存启动之后主进程的pid

  • 配置setting.py文件
  • DEBUG = False
  • ALLOWED_HOSTS =[’*’]
  • 启动uwsgi

uwsgi --ini uwsgi.ini

  • 在浏览器输入阿里云公网ip即可显示
nginx
  • nginx处理静态文件
  • 安装

sudo apt-get install nginx

  • 验证

service nginx start

  • 在浏览器输入公网ip即可出现欢迎界面,安装成功
  • nginx命令

service nginx start # 启动
service nginx stop # 停止
service nginx resload # 重启
systemctl status nginx # 查看nginx状态
nginx -t # 检查nginx是否正常运行

  • 配置nginx,修改配置文件/etc/nginx/sites-available/default文件
upstream django { server 127.0.0.1:8080; } server { listen 80; server_name xxx.xxx.xx.xx; # 服务器公网ip charset utf-8; client_max_body_size 75M; location / { uwsgi_pass 127.0.0.1:8080; include /etc/nginx/uwsgi_params; } location /static { alias /home/xxxxx/static; # 静态文件路径 } }
  • 重启nginx和uwsgi

service nginx reload
uwsgi --ini uwsgi.ini

整个项目部署完成


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31848.html

    分享给朋友:

    “云服务器上部署chatgpt 云服务器部署django” 的相关文章

    购买DNS解锁服务器的最佳选择与配置指南

    在当今的信息时代,获取我们想要的内容常常并不像想象中那样简单。很多流媒体服务在不同地区的可用性有所限制,这使得我们在享受内容时常常受到阻碍。这时候,DNS解锁服务器就成为了解决这个问题的有效工具。DNS解锁技术通过修改服务器上的DNS设置,可以帮助用户突破地理限制,顺利访问各种国际流媒体服务。 我刚...

    如何获取低价域名:选购指南与注意事项

    在当今数字化时代,网上存在着大量的低价域名和注册选项。低价域名通常是指那些价格较为便宜的域名,相比传统的域名选择,它们为个人和企业提供了更加实惠的选择。注册这些域名的方式多种多样,市场上也有许多能够提供成本效益高的选择,适合各类需求的用户。 在这个竞争激烈的网上环境中,很多人希望能以较低的成本建立自...

    甲骨文云账号如何注销:详尽步骤与注意事项

    甲骨文云账号注销流程 注销甲骨文云账号的流程其实并不复杂,但有几个关键步骤需要认真对待。整个过程主要分为几个部分,包括登录甲骨文云控制台、发起注销请求、查看注销请求状态,以及最后的等待和确认删除。 1.1 甲骨文云控制台的登录 进入甲骨文云控制台的第一步,就是要登录到你的账号。打开浏览器,访问甲骨文...

    Debian 修改 DNS 的详细步骤与常见问题解决方案

    在讨论 Debian 中的 DNS 修改前,我想先和大家分享一些关于 DNS 的基本信息。DNS(Domain Name System)是互联网的“电话簿”,它将我们可读的网站地址(如 www.example.com)转换为计算机能够理解的 IP 地址。这一过程对于我们浏览网页、发送邮件等操作至关重...

    如何在AWS搭建VPS:详细指南与实用技巧

    在当今这个数字化快速发展的时代,云计算扮演着越来越重要的角色。无论是企业处理大量数据,还是个人用户存储信息,云服务都提供了一种灵活、高效的解决方案。特别是随着远程工作和在线服务的普及,能够随时随地访问和管理自己的数据成为一种必需。在这个过程中,亚马逊云(AWS)凭借其强大的服务和稳定的性能,成为了众...

    easyvm:轻松创建和管理虚拟机的虚拟化解决方案

    什么是 easyvm easyvm 是一种轻量级的虚拟化解决方案,旨在帮助用户快速、简单地创建和管理虚拟机。面对日益增长的技术需求和IT成本压力,easyvm 提供了一个灵活且易于使用的平台,适合不同技术水平的用户。它不仅支持多种操作系统的虚拟化,还能够满足不同开发、测试以及生产环境的需求。每个人都...