镜像的准备工作
- apt更新源
修改源 vim /etc/apt/sources.list
更新源 apt-get update
升级已安装的包 apt-get upgrade
搜索 apt-cache search packagename
安装 apt-get install packagename - git
- mysql 注意记住密码
- 安全组放通端口
- 修改python软连接
初步测试运行(自带单线程)
- 本地验证可运行
- 生成依赖说明文件
pip freeze> requirement.txt
这个命令搭配虚拟环境比较好。否则全部包都会生成。
可以选择(选做)pipreqs包生成项目所需依赖。 - 关闭debug模式。
django settings.py中debug = False
- 设置接受的访问ip。
allowedhost = [*]
或 [‘127.0.0.1’, ‘localhost’, ‘.example.com’, ‘39.96.114.97’] 。host头攻击原理https://blog.csdn.net/u012397189/article/details/80559028 - 以wsgi代理项目(django2版本不需操作,默认提供 wsgi.py)
- sftp上传项目
- 安装项目依赖 cd到项目根目录下 pip3 install -r requirements.txt
如果服务器没有pip3的话apt install python3-pip
- 自带单线程启动
python manage.py runserver 0.0.0.0:8000
。
这时的数据流是 外部ip→服务器上的django服务, 所以runserver 0.0.0.0。
如果后面请求由nginx过来,那么runserver 127.0.0.1:8000即可。 - 浏览器访问验证。http://[域名]:port 或 http://[服务器ip]:port 。注意阿里云的云盾和安全组白名单访问ip和放通端口。
其它常用软件
- apt-get install python3-pip
可以换pip源 - apt-get install nano
- apt-get install git
git生成密钥对后才能clone - apt-get install mysql-server
默认5.7版本,需要配置字符集才能插入中文。8.1版本需要官网下载deb包然后安装。参考https://www.cnblogs.com/wusr/p/10083754.html
报错
- 安装依赖是。一些包的安装方式与win不同。看安装到哪个包时报错。
cairocffi 需要gcc编译,参考上面链接安装。
mysqlclient包需要加载mysqlconfig。需要先安装mysql。
pywin不需要。
先手动去除requirements.txt项目中不需要的包 - apt-get install python3-pip 后显示安装成功但无法使用pip3命令/usr/bin下没有。解决apt-get remove 卸载后重装。