【26.0】项目部署准备
【一】上线前准备
- 购买一台服务
- 项目跑在服务器上
- 购买公网ip:别人访问我们的ip,就能访问到我们的项目
- 购买域名:备案---》访问域名---》转发到你的ip
【1】购买一台服务:
- 在上线前,您需要购买一台云服务器或虚拟主机服务,以托管您的项目。
- 选择合适的服务提供商时,您需要考虑各种因素,如价格、性能、可靠性和技术支持等。
- 常见的云服务提供商包括阿里云、腾讯云、亚马逊AWS等。
【2】项目跑在服务器上:
- 一旦您购买了服务,您需要将您的项目部署到服务器上。
- 这可能涉及到设置服务器环境、安装所需的软件和配置项目依赖项等步骤。
- 确保您的项目在服务器上正常运行之前,您可以通过SSH或远程桌面连接等方式来管理服务器。
【3】购买公网IP:
-
公网IP是使您的项目能够通过互联网进行访问的必要条件。
-
在购买服务时,您可以选择购买公网IP,并将其绑定到您的服务器上。
-
公网IP允许其他用户通过该IP地址来访问您的项目。
-
在实际运行时,您还需要配置服务器的网络设置,以确保公网IP的正确使用和访问。
【4】购买域名:
- 购买域名是为了将用户友好的网址映射到您的公网IP地址上。
- 域名就是您在浏览器中输入的网址,如www.example.com。
- 购买域名时,您需要选择一个合适的域名注册商,并确保您的域名能够正常解析到您的公网IP地址。
a. 备案:
- 如果您在中国大陆地区购买域名并将其指向国内服务器,那么根据中国法律要求,您需要进行网站备案。
- 备案是向相关部门提交一些企业或个人信息的流程,以获得网站的访问许可。
- 备案的具体步骤和要求可以咨询您所在地的相关机构或域名注册商。
b. 访问域名:
- 一旦您购买了域名并进行了备案(如果适用),您就可以通过输入域名来访问您的项目了。
- 例如,在浏览器中输入www.example.com即可访问您的项目。
c. 将域名转发到您的IP:
- 在购买域名后,您需要将域名的DNS设置指向您的公网IP地址。
- 这涉及到在域名注册商的管理界面上进行相应的配置。
- 具体步骤可能因注册商而异,但通常包括添加A记录、CNAME记录或将域名的NS记录指向您的服务器。
- 通过按照上述步骤完成,您将能够使您的项目在互联网上正常访问。
- 需要注意的是,确保您的服务器和项目的安全性,例如使用防火墙、更新软件补丁、加密传输等措施,以及定期备份数据以应对意外情况。
【二】阿里云
【1】购买服务器:
- 在阿里云上购买服务器实例,您可以按照以下步骤进行操作:
(1)登录阿里云控制台
(2)选择"实例"
- 在左侧导航栏中选择"实例",然后点击"创建实例"按钮。
- 点击云服务器
- 选择实例
- 选择创建实例
- 选择实例
- 补充知识
- 付费类型
- 包年包月:您可以预付一定的费用,购买一个固定时长的实例。包年包月的实例价格相对更低,适合长期稳定的业务需求。
- 按量付费:您根据实际资源使用情况进行计费,按小时进行结算。按量付费弹性灵活,适用于临时、突发或不确定的业务需求。
- 抢占式实例:抢占式实例是一种价格更低的付费方式,但在资源竞争激烈时可能会被回收。适用于对实例可用性要求相对较低的场景。
- 地域
- 阿里云在全球范围内提供了多个地域供您选择。
- 地域是指物理数据中心所在的地理位置。
- 您可以选择离您最近的地域进行实例购买,这可以带来更低的延迟和更好的用户体验。
- 当您选择地域时,还需要注意该地域支持的云产品和服务范围是否满足您的需求
- 网络即可用区
- 实例
- 实例是阿里云服务器的核心组件,它包含了CPU、内存和存储等资源,可以根据需求来选择不同配置的实例。
- CPU和内存的购买应该根据应用程序的要求和负载情况进行合理选择。
- 镜像
- 镜像是ECS实例的“装机盘”,它提供了操作系统、初始化应用数据和预装软件等内容。
- 一般情况下,阿里云服务器的镜像默认为CentOS操作系统,但也可根据自己的需求选择其他操作系统。
- 系统盘
- 系统盘相当于服务器的硬盘,用于存储操作系统和应用程序等数据。
- 系统盘的容量和性能可以根据需求进行按需购买。
- 公网IP很重要(必选)
- 公网IP对于阿里云服务器非常重要,它可以使服务器与外部网络进行通信。
- 在创建ECS实例时,一定要注意选择并关联一个公网IP。
- 带宽计费模式
- 按使用流量
- 按使用流量方式是根据实际使用的流量来计费,即使用多少流量就需要支付多少费用
- 按固定带宽
- 按固定带宽方式是按照预设的固定带宽来计费,无论实际使用情况如何,费用都保持不变。
- 根据实际需求选择适合自己的计费模式。
- 带宽峰值
- 带宽峰值是指ECS实例所能支持的最大带宽速率。
- 用户可以根据自身业务的需要,在创建ECS实例时根据需求自行选择合适的带宽峰值。
- 其他默认
(3)下单支付
-
根据付费类型选择包年包月或按量付费,并完成支付流程。
-
确认订单并进行购买,等待实例创建完成。
-
一般是账户内余额大于100才让下单
(4)下单完成后
- 在实例的位置就可以看到自己的服务器了
【2】使用服务器:
-
在服务器创建完成后,您可以通过以下方式进行使用:
-
使用SSH工具连接到您的实例。通过SSH密钥对或密码登录,远程管理您的服务器。
-
配置您的服务器环境。您可以安装所需的应用程序、配置服务器参数以满足您的业务需求。
-
上传和下载文件。通过SCP或SFTP协议,将文件从本地传输到服务器或从服务器下载到本地。
-
设置Web服务器。如果您需要托管网站或应用程序,可以配置Web服务器,如Nginx或Apache。
-
监控和管理服务器。使用阿里云提供的监控服务、日志服务等,对服务器进行监控和管理,确保正常运行和安全性。
-
【3】注意事项:
-
购买和使用阿里云服务器时,请注意以下事项:
-
选择适合的实例规格:根据您的业务需求和预期的负载,选择合适的实例规格以确保性能和资源的充足。
-
安全设置:配置安全组和网络访问控制,限制入站和出站流量,以保护服务器免受未经授权的访问。
-
数据备份和灾难恢复:定期备份重要数据,并将其存储在可靠的存储服务上,以便在意外情况下进行恢复和保护数据安全。
-
定期更新和维护:及时更新操作系统和应用程序,修补安全漏洞,确保服务器的稳定性和安全性。
-
监控和预警:使用阿里云提供的监控工具,定期检查服务器的性能和运行状态,以及设置告警通知,及时发现可能的故障或问题
-
【三】腾讯云
【1】购买服务器
(1)登陆控制台
(2)选择云服务器
(3)配置选择(参考上面的阿里云介绍)
(4)完成购买
- 够完成后即可使用
【2】使用服务器
在服务器创建完成后,您可以通过以下方式进行使用:
-
使用SSH工具连接到您的实例。通过SSH密钥对或密码登录,远程管理您的服务器。
-
配置您的服务器环境。您可以安装所需的应用程序、配置服务器参数以满足您的业务需求。
-
上传和下载文件。通过SCP或SFTP协议,将文件从本地传输到服务器或从服务器下载到本地。
-
设置Web服务器。如果您需要托管网站或应用程序,可以配置Web服务器,如Nginx或Apache。
-
监控和管理服务器。使用阿里云提供的监控服务、日志服务等,对服务器进行监控和管理,确保正常运行和安全性。
【3】注意事项
购买和使用服务器时,请注意以下事项:
-
选择适合的实例规格:根据您的业务需求和预期的负载,选择合适的实例规格以确保性能和资源的充足。
-
安全设置:配置安全组和网络访问控制,限制入站和出站流量,以保护服务器免受未经授权的访问。
-
数据备份和灾难恢复:定期备份重要数据,并将其存储在可靠的存储服务上,以便在意外情况下进行恢复和保护数据安全。
-
定期更新和维护:及时更新操作系统和应用程序,修补安全漏洞,确保服务器的稳定性和安全性。
-
监控和预警:使用阿里云提供的监控工具,定期检查服务器的性能和运行状态,以及设置告警通知,及时发现可能的故障或问题
【四】远程连接服务器媒介
【1】FinalShell
(1)下载
- 根据自己的系统下载对应的文件即可
(2)安装
- 一路下一步安装即可
(3)使用
- 软件界面
- 连接服务器
- 依次选择
- 名称:自己的自定义服务器名字
- 主机:购买的服务器恭公网IP
- 端口:22(一般不做更改)
- 用户名:自己服务器的用户名(默认root)
- 密码:自己服务器的密码(实在没有就在服务器设置一个)
- 连接成功
- 第一次连接时,会提示是否记住秘钥
- 自己考虑
- 选择记住后第二次链接就不需要再输入密码了,打开就可以直接连接
- 第一次连接时,会提示是否记住秘钥
【2】CMD直连
-
也可以选择使用CMD窗口命令行直连
-
打开CMD窗口
-
终端输入
【3】Tabby
(1)下载
- 访问可能会有点慢,自己解决
- 官网:https://github.com/chrisant996/clink
- 下载链接:https://github.com/chrisant996/clink/releases/tag/v1.5.2
以下是Clink提供的一些亮点:
- 与Bash相同的行编辑(来自GNU Readline库版本8.1)。
- 会话之间的历史记录持久性。
- 上下文相关完成;
- 可执行文件(和别名)。
- 目录命令。
- 环境变量。
- 上下文相关的彩色输入文本。
- 来自历史记录和完成的自动建议。
- 新的键盘快捷键;
- 交互式完成列表 (+)。CtrlSpace
- 增量历史记录搜索(+和+)。CtrlRCtrlS
- 强大的完成 ()。Tab
- 撤消 (+)。CtrlZ
- 环境变量扩展 (++)。CtrlAltE
- Doskey 别名扩展 (++)。CtrlAltF
- 滚动屏幕缓冲区 (+等)。AltUp
- Shift+箭头键选择文本,键入替换所选文本等。
- (按 + 查看更多...AltH
- 目录快捷方式;
- 键入目录名称后跟路径分隔符是该目录的快捷方式。
cd /d
- 键入 or 是 or 的快捷方式(每增加一个 )。
..``...``cd ..``cd ..\..``.``\..
- 键入或更改以前的当前工作目录。
-``cd -
- 带有Lua的脚本化自动建议。
- 使用 Lua 完成脚本化。
- 使用 Lua 的可脚本化键绑定。
- 彩色和可编写脚本的提示。
- 自动应答“终止批处理作业?”提示。
默认情况下,Clink 绑定 + 以显示当前的键绑定。更多的功能也可以在GNU的Readline中找到。AltH
(2)安装
- 解压后即可使用
- 软件主界面
(3)连接服务器
- 选择管理配置
- 选择新配置
- 选择SSH会话
- 输入自己的服务器信息
(4)连接成功
(5)个人使用评价
- 这个软件感觉比FinalShell还要友好一点,就是没有FinalShell那种监控服务器的可视化界面,其他的功能还是挺全的,功能也有很多
- 有兴趣的朋友可以自己研究研究
【五】上线架构图
【六】安装Git
【1】方式一:通过yum包管理器
- 通过yum包管理器直接安装git命令行工具。
- 该命令会自动下载并安装最新版本的Git。
【2】方式二:安装开发工具集
- 安装开发工具集。
- 它会将用于软件开发所需的常见开发工具和库一次性安装到系统中。
【3】执行下面安装依赖
- 安装一些Git所需要的依赖库,以确保Git的正常运行。
openssl-devel
:OpenSSL库的开发文件,用于支持HTTPS等安全传输协议。bzip2-devel
:bzip2库的开发文件,用于支持Git的数据压缩。expat-devel
:expat库的开发文件,用于支持Git对XML解析的需求。gdbm-devel
:gdbm库的开发文件,用于支持Git使用GNU数据库管理系统。readline-devel
:readline库的开发文件,用于支持Git命令行的编辑和自动补全功能。sqlite-devel
:SQLite库的开发文件,用于支持Git使用SQLite数据库。psmisc
:一个实用程序库,提供更多的进程查找和控制功能。libffi-devel
:libffi库的开发文件,用于支持Git调用其他语言的函数。
【4】验证安装
- 验证Git是否成功安装
【5】通过以下命令分别设置用户名和邮箱
【七】安装mysql
【1】版本
- MySQL 5.7 是一款稳定且常用的MySQL版本。
【2】前往用户根目录
- 通过命令
cd ~
可以进入当前用户的根目录(即主目录),这是为了方便后续的操作和文件下载。
【3】下载mysql57
- 使用
wget
命令下载 MySQL 5.7 的安装包。 - 例如,
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
将会下载名为mysql57-community-release-el7-10.noarch.rpm
的文件。
【4】安装mysql57
- 使用以下两条命令来安装MySQL 5.7
- 安装 MySQL 的 Yum 仓库源,
- 通过 yum 包管理器安装 MySQL 社区版服务器。
如果遇到下述问题
- 是和原来的MySQL产生了冲突
- 移除旧版MySQL即可
【5】启动mysql57并查看启动状态
- 使用以下两条命令来启动 MySQL 服务,并查看其运行状态
- 启动 MySQL 服务
- 检查 MySQL 服务的运行状态
【6】查看默认密码并登录
- MySQL 5.7 默认会生成一个初始密码。通过以下命令查看该密码
- 使用以下命令来登录 MySQL
【7】修改密码
- 登录后,可以使用以下命令来修改 root 用户的密码
【八】安装redis
【1】官方下载编译好的reids
- 这种方法是通过从官方网站下载已经编译好的 Redis 软件包进行安装
- 使用
wget
命令下载 Redis 官方软件包
- 解压下载的压缩包:
- 将解压得到的文件夹重命名为
redis
:
- 编译安装Redis
- 切换到上述改好名字的 redis 文件夹下
- 进入 Redis 的
src
目录:- 注意当前所在文件目录
- 我的目录是
/usr/local/redis/redis/src
- 我的目录是
- 注意当前所在文件目录
- 查看src文件夹下的所有文件
- 启动 Redis,默认使用默认配置启动:
- 删除 Redis 安装包
【2】在任意路径下敲redis-server都能把服务运行
方式一:
- 将 Redis 的
bin
路径添加到环境变量中,这样无论在哪个路径都可以执行redis-server
。
方式二:使用软连接
- 在
/usr/bin/
目录下创建软连接,这样无论在哪个路径都可以找到redis-server
和redis-cli
【3】查看是否创建软连接成功
【4】启动redis服务,后台运行
【5】源码安装
(1)下载redis-6.2.6
- 使用
wget
命令下载 Redis 源码包:
(2)解压安装包
(3)进入解压得到的目录
(4)编译环境 gcc
- 在
src
路径下编译源码,生成redis-cli
和redis-server
可执行文件:
(5)复制环境到指定路径完成安装
- 将编译生成的可执行文件复制到指定路径完成安装,例如复制到
/usr/local/redis
目录下:
(6)配置redis可以后台启动:修改下方内容
- 修改 Redis 配置文件,使其支持后台启动。
- 使用编辑器打开
/usr/local/redis/redis.conf
文件:
- 并将以下内容修改为
(7)保存并退出编辑器
(8)建立软连接
- 创建软连接,将
redis-server
和redis-cli
链接到/usr/bin/
目录下,以便在任意路径下都能运行:
(9)后台运行redis
- 后台运行 Redis 服务,指定配置文件路径:
(9)测试redis环境
- 使用以下命令测试 Redis 环境是否正常:
(10)关闭redis服务
- 如果需要关闭 Redis 服务,可以使用以下命令之一:
【九】安装python
-
可以使用yum 安装,不能指定版本
-
源码安装,下载指定版本的源码,编译安装
-
所有linxu和mac,都自带python2:系统服务,是用python写的
-
阿里云的centos默认装了python3.6.8
【1】源码安装python
- 源码安装Python需要先准备一些第三方依赖库,可以使用yum命令来安装,如
【2】前往用户根目录
- 进入用户根目录,可以通过以下命令切换到用户根目录
【3】下载 或 上传 Python3.8.6 服务器终端
- 下载或上传指定版本的Python源码包,可以通过wget命令进行下载,例如
- 也可以前往其他可信赖的镜像源或Python官网下载源码包
【4】解压安装包
- 解压下载的Python源码包,可以使用tar命令,如
【5】进入目标文件
- 进入解压后的Python源码目录,使用cd命令进入,例如
【6】 配置安装路径
-
配置Python的安装路径,可以使用configure命令来指定安装路径,例如
-
/usr/local/python3
- 把python3.9.10 编译安装到/usr/local/python38路径下
【7】编译并安装,如果报错,说明缺依赖
- 执行make和make install命令进行编译和安装操作
- 当前目录下就可以
- 这个警告是由于在以root用户身份运行pip命令导致的,并且在系统中安装的Python库的路径与系统包管理器的预期路径不匹配。
- 这可能会导致权限问题和与系统包管理器的冲突。
- 解决这个问题的推荐方法是创建一个虚拟环境并切换到该环境中来执行Python以及相关的pip命令。
- 虚拟环境可以隔离不同项目的依赖,避免对全局Python环境进行修改。
- 这些命令将会根据之前的配置对Python源码进行编译和安装,如果报错提示缺少依赖,则需要先安装相应的依赖库
【8】建立软连接
/usr/local/python38
路径不在环境变量,终端命令python3,pip3
- 机器上有多个python和pip命令,对应关系如下
【9】删除安装包与文件
- 最后,删除安装包和解压后的源码文件,可以使用rm命令进行删除
【10】验证安装
【11】查看并切换清华镜像源
(1)查看当前镜像源
- 首先,通过以下命令查看当前pip的镜像源:
- 该命令会返回当前pip的镜像源URL。
(2)命令更换镜像源
- 如果返回的URL不是清华镜像源,可以使用以下命令来临时更换为清华镜像源:
- 再次运行第一步中的命令验证镜像源是否已更改为清华镜像源
(3)永久更换镜像源
- 要实现永久更换为清华镜像源,您需要编辑pip的配置文件。
- 通常情况下,配置文件位于用户的主目录下的
.pip
目录中,文件名为pip.conf
或pip.ini
(如果不存在,则可以自行创建该文件)。
- 通常情况下,配置文件位于用户的主目录下的
- 使用文本编辑器打开配置文件,并添加以下内容
将
index-url
的值设置为清华镜像源的URL。
(4)保存并关闭配置文件验证。
再次运行以下命令来验证pip的镜像源是否已成功更改为清华镜像源:
【十】配置Python虚拟环境
【1】安装虚拟环境管理工具virtualenv
:
【2】建立软连接
【3】修改配置文件
~/
表示用户家路径:root用户,就是在/root/.bash_profile
- 通过
ls -al
查看全部隐藏文件
- 通过
- 修改配置文件
- 输入
a
编辑文件内容- 上下移动可控制位置
- 粘贴下面内容
-
输入完成按ESC推到当前页面,可以看到 INSERT 消失
-
输入
:wq
回车,退出当前文件:wq
:退出并保存当前文件修改
-
更新配置文件内容
- 虚拟环境默认根目录:
【4】在合适的位置创建一个新的文件夹作为你的项目根目录
- 例如
myproject
:
【5】创建一个虚拟环境:
- 你会注意到,激活虚拟环境后,命令行提示符前面的
(venv)
标识表示你已经处于虚拟环境中。- 在虚拟环境中进行Python和pip相关的操作,无需使用root权限即可完成安装等任务。
- 通过使用虚拟环境,你可以避免错误的权限和依赖关系问题,并且能够更好地管理你的项目。
- 退出虚拟环境
deactivate
【6】操作查看虚拟环境:
(1)退出虚拟环境(deactivate)
(2)查看虚拟环境(workon)
(3)使用虚拟环境(workon 虚拟环境名)
【十一】安装uwsgi
【1】详解uwsgi
django 项目上线需要使用uwsgi这个web服务器运行django项目,安装这个web服务器
使用uwsgi运行django,不再使用测试阶段的wsgiref来运行django了
uwsgi是符合wsgi协议的web服务器,使用c写的性能高,上线要使用uwsgi
- uwsgi是一个符合WSGI(Web Server Gateway Interface)协议的Web服务器,它使用C语言编写并以其高性能而闻名。
- 在将Django项目部署到生产环境时,通常会选择使用uwsgi服务器来提供更好的性能和稳定性。
【2】安装
1)在真实环境下安装
2)建立软连接
【十二】安装NGINX
【1】详解NGINX
反向代理服务器
做请求转发
静态资源代理
负载均衡
-
NGINX是一个开源的高性能的HTTP和反向代理服务器,同时也可以充当邮件(IMAP/POP3)代理服务器。
-
它采用事件驱动的架构和轻量级的进程模型,能够高效地处理大量并发连接。
-
以下是关于NGINX的详细说明:
-
HTTP服务器:
-
NGINX作为HTTP服务器,能够处理HTTP请求和响应。
-
它支持静态文件的服务、虚拟主机、反向代理、负载均衡和缓存等功能。
-
静态文件的服务允许将静态文件直接提供给客户端,从而加快网站的访问速度。
-
虚拟主机使得多个域名可以使用同一个物理服务器进行托管。
-
反向代理和负载均衡分别用于转发请求到后端的多个服务器和均衡负载,提高系统的可用性和性能。
-
缓存能够缓存静态和动态内容,减少对后端服务器的访问压力。
-
-
反向代理服务器:
-
NGINX可以作为反向代理服务器,将客户端的请求转发给后端的多个应用服务器。
-
反向代理隐藏了真实的应用服务器,可以提供负载均衡、故障转移和安全性等功能。
-
通过负载均衡,NGINX可以将请求分发给多个应用服务器,从而提高应用的整体性能和可用性。
-
当应用服务器出现故障时,NGINX可以自动将请求转发到其他正常运行的服务器上,确保服务的连续性。
-
此外,NGINX还可以进行安全策略的制定,比如限制访问速率、防止DDoS攻击等。
-
-
邮件代理服务器:
-
除了作为HTTP服务器和反向代理服务器外,NGINX还可以作为邮件代理服务器,支持IMAP和POP3协议。
-
NGINX可以处理邮件客户端的认证、SMTP代理和反垃圾邮件功能。
-
这使得NGINX能够有效地协助处理邮件流量,提高系统的可用性和安全性。
-
-
性能和伸缩性:
-
NGINX采用事件驱动的模式,使用异步非阻塞的I/O操作,相比于传统的多线程或多进程模型具有更高的性能和更低的资源消耗。
-
此外,NGINX还支持内置的负载均衡机制,可根据实际情况自动分配客户端请求到多个后端服务器,实现水平扩展。
-
-
功能丰富和灵活性:
- 除了提供基本的HTTP和反向代理功能以外,NGINX还支持URL重写、SSL/TLS加密、gzip压缩、HTTP2和WebSocket等高级功能。
- 这些功能可以根据实际需要进行配置,提供更加丰富和灵活的应用场景。
-
-
总结:NGINX是一个高性能的HTTP和反向代理服务器,具有强大的性能、丰富的功能和灵活性。
- 它适用于各种规模的网站和应用环境,并能够提供可靠的服务和高效的负载均衡机制。
【2】安装
(1)前往用户根目录
(2)下载nginx1.19.2
(3)解压安装包
(4)进入目标文件
(5)配置安装路径
/usr/local/nginx
(6)编译并安装
(7)建立软连接
- 终端命令 nginx
- 删除软连接命令
(8)删除安装包与文件
(9)测试Nginx环境
- 服务器运行nginx,本地访问服务器ip
- 启动nginx服务,监听80端口----》公网ip 80 端口就能看到页面了
- 服务器绑定的域名 或 ip:80
(10)静态文件放的路径
/usr/local/nginx/html
(11)查看进程
【十三】部署前端
【1】本地文件打包
- 在项目目录下执行编译命令
- dist 文件 打包成 dist.zip ,在本地
- 上传到远程服务器
【2】在远程服务器上装环境
【3】本地文件上传服务器
- 在远程服务器上
- 打开你本地的目录,选中dist.zip 上传到远端
- 解压
【4】移动文件
/home/html
下面有咱们的前端静态文件/root/dist
前端文件夹/home/html
服务器存储文件夹
【5】配置nginx 静态代理
- 按 a 粘贴下面代码
- 按
esc
:wq
回车
【6】重启nginx
【十四】部署后端
【1】本地
(1)prod.py 配置文件配好
(2)修改项目中wsgi.py,asgi.py
- 用uwsgi运行wsgi.py
wsgi.py
asgi.py
(3)导出项目依赖
(4)推到远端(Git)
- 确认已经推上去了
【2】远程服务器
(1)拉取项目,安装模块
[1]创建文件夹存储后端项目文件
[2]克隆项目服务器
- 如果提示输入用户名和密码就输入用户名和密码
[3]进入到虚拟环境
- 注意这里是项目文件夹下进入
[4]安装依赖
- 可能会出错 mysqlclient装不上,先注释,装上能装上的,再单独装mysqlclient
在
mysqlclient
前面加#
注释再次安装依赖
[5]mysqlclient
解决办法
- 安装
python3-devel
- 安装
mysql-devel
--nogpgcheck
: 跳过秘钥认证
- 安装
mysqlclient
(2)虚拟环境中也要安装uwsgi
- 进入虚拟环境
- 安装
uwsgi
(3)配置数据库
- 登录数据库
- 创建数据库
- 设置权限账号密码:账号密码要与项目中配置的一致
- 退出mysql
- 使用本地navicate链接阿里云的luffy库,使用luffy用户
(4)迁移表
(5)uwsgi 运行django
- 写一个
uwsgi
的配置文件- 在项目路径下,新建一个
luffyapi.xml
- 在项目路径下,新建一个
- 使用uwsgi启动
- 查看是否正常运行
(6)配置nginx转发
- 新增的server
- 重启nginx
(7)导入数据
(8)配置域名解析
【补充】关于Navicat连接远程MySQL数据库无法连接问题
【1】首先确认自己的防火墙开放MySQL3306端口
【2】Centos7服务器本身的防火墙会阻止部分端口进入
- CentOS7默认没有安装iptables,可以手动安装iptables;也可以通过CentOS7已带的firewall配置防火墙。
(1)查看firewalld.service服务状态
(2)查看firewall运行状态
(3)手动启动/停止/重启firewalld.service服务
(4)展示当前配置的firewall规则
(5)端口(端口段)的查询/开放
(6)IP(IP段)的开放
(7)系统服务的开放
(8)自定义复杂规则(注意是否与已有规则冲突)
(9)任何修改操作,配置完成后,需要重新装载firewall。可重新启动firewalld服务。
- 修改放行MySQL3306端口后需要重启MySQL服务
【十五】配置后台admin访问
-
浏览器访问http://8.130.18.221:8000/admin 发现没有样式
-
因为uwsgi不能给我们代理静态资源
-
收集静态资源,使用nginx代理
-
prod.py中加入
- 执行命令
- 进入虚拟环境
- 修改nginx配置文件
- 新增的配置静态文件
__EOF__

本文链接:https://www.cnblogs.com/dream-ze/p/17642757.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17642757.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了