| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django项目部署到阿里云 -> 正文阅读 |
|
[Python知识库]Django项目部署到阿里云 |
目录 一.基本配置开发使用的Django版本:3.2.5; 开发使用的python版本:3.8.5; 开发使用的mysql版本:8.0.26; 服务器上的python版本:3.6.9; 服务器上的Django版本:3.2.8; 服务器上的mysql版本:5.7.35; 开发环境:window10; 部署环境:Ubuntu18.04; uwsgi version:2.0.20; nginx version: nginx/1.14.0; 二.部署准备从阿里云官网购买一个最低配的云服务器ECS就可以,我购买的是1核 2 GiB。购买成功后他会让你选择该服务器的系统,选择Ubuntu18.04就可以,设置登录的用户名与密码。购买完成后,会出现运行的实例。然后需要配置安全组规则,即对端口的访问进行限制,先选择快速添加安全组规则,把那些添加后,我们再添加一个允许外界对8000端口进行访问的规则。 三.进入ubuntu进入之后我们就是root用户,我没有再设置新用户,直接使用root用户对ubuntu进行操作。 接下来就开始命令行(如果是root用户下面的sudo可以不用敲) 1.系统更新sudo apt-get update sudo apt-get dist-upgrade 用上面两条命令进行系统更新 sudo apt-get -y update 更新Ubuntu中的/etc/apt/source.list的源 sudo apt-get install python-setuptools 更新python安装工具 2.安装MySQL数据库sudo apt-get install mysql-server 安装数据库 sudo mysql_secure_installation 对数据库进行安全配置 这里找不到我当初看的博客了,我在这个输入的地方,输入的n;这样数据库对你的密码强度就没有要求了,如果单纯为了实验可以选择个简单的密码。后面一直输入y就可以。 下文链接:https://blog.csdn.net/qq_24472235/article/details/100033837 Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车 … Success! Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止(根据个人需求) … Success! By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车(根据个人需求) ??? Dropping test database… … Success! ??? Removing privileges on test database… … Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车 … Success! Cleaning up… All done! If you’ve completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! 3.配置MySQL数据库cd /etc/mysql sudo vim my.cnf 进入MySQL数据库配置文件所在的目录,用vim修改my.cnf。
注:在我看的参考书上的socket进行了配置,但是我配置后会报错,所以我没有配置。具体配置内容:socket=/var/lib/mysql/mysql.sock。(在[client]下) sudo service mysql restart 重启数据库,让配置生效 sudo mysql -uroot -p 登录数据库,如果可以正常登录,则说明数据库的安装和配置都没问题。 在django项目的setting文件下找到数据库的名字,在服务器中也创建一个。 create database you default character set utf8 collate utf8_general_ci; 数据库命令行中须运行以下命令以保证python可以与数据库进行连接。(把用户,密码改成自己的) mysql>update mysql.user set authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password' where user='root'; mysql> flush privileges; 4.创建项目目录并安装虚拟环境mkdir myweb 在根目录下建立myweb目录 sudo pip install virtualenv 安装viryualenv cd myweb sudo virtualenv --python=python3 myenv 进入myweb目录,建立虚拟目录 soure myenv/bin/activate 激活虚拟环境 PS:ubuntu18.04会自带python2和python3,可以把python2卸载,以防调用出错。 5.安装uWSGI服务器(以下命令建议在虚拟环境中执行)sudo apt-get install gcc sudo apt-get install python3-dev sudo pip install uwsgi 安装GCC,python开发相关工具模块,uwsgi uwsgi 允许uwsgi测试安装是否成功 6.安装Nginxsudo apt-get install nginx 安装nginx用以处理静态文件请求 7.在服务器上配置项目DEBUG = False ALLOWED_HOSTS = ['127.0.0.1','localhost','192.168.0.168','*'] 在项目的setting中要增加以上内容,以允许外部域名访问 把应用程序的migrations文件下,把以数字开头的文件删除,因为那会影响到利用python对服务器中数据库表的建立。 利用Xftp把项目上传到服务器中的myweb目录下。 (注:djangoProject下面的_init_.py中应有: import pymysql ) 进入虚拟环境,进入myweb/djangoProject/?? (项目名称为djangoProject) pip install django 安装django python3 manage.py makemigrations python3 manage.py migrate 运行以上命令在ubuntu的数据库中创建表 python3 manage.py createsuperuser 生成Django管理后台的管理员 8.配置Nginxcd myweb/djangoProject cp /etc/nginx/uwsgi_params 把uwsgi_params复制到项目根目录下 cd /etc/nginx vim nginx.conf 在该文件的开头添加:user root; 在该文件http大括号中添加: upstream django { 重启nginx使配置生效: sudo service nginx restart 9.配置uWSGI在项目根目录下:sudo vim project_uwsgi.ini [uwsgi] 四.测试uwsgi --ini project_uwsgi.ini 五.放几张成功截图 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:29:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |