准备
首先准备好最新版本的Python
因为我用的是宝塔环境,宝塔自带了Nginx和Supervisor,所以不用单独安装了
然后把代码上传到opt目录,我的上传到了YojigenAPI
目录下
这里我是使用了PyCharm的自带Deployment
功能进行代码上传
首先打开PyCharm的菜单栏的Tools --> Deployment --> Configure
在里面添加一个新的服务器,我添加的服务器命名为AliyunHK
,输入好服务器的登陆信息
然后到Mappings页面,添加一下文件夹对应的路径配置,我这里是将代码放到了服务器的/opt/YojigenAPI
目录下
最后到Excluded Paths页面,添加一个Local Path,忽略掉本地的venv虚拟环境文件夹
最后点击PyCharm的菜单栏的Tools --> Deployment --> Upload to AliyunHK,就可以将代码推送到服务器上了
环境配置
ssh登陆到服务器,来到项目目录下,先创建一个虚拟环境
然后进入到虚拟环境里
之后恢复pip的包
注意这里安装了gunicorn
,默认的Django项目是不会安装的
包都装完了,就可以退出虚拟环境了
服务配置
先测试一下服务启动命令,10000是监听端口
结果发现报错了,The SECRET_KEY setting must not be empty.
,这个错误是项目配置文件找不到了,实际上是因为需要设置一下配置文件的环境变量才行,所以只要运行
之后再启动,如果没错那就没问题了
然而我又报错了,SQLite 3.8.3 or later is required (found 3.7.17).
,这个问题是因为我用的是CentOS,系统自带的sqlite3版本太老,升级一下就可以了
编译好了之后,执行一下这个,把/usr/local/lib添加到系统的链接库中
之后再运行应该就可以正常启动了,然后配置更新一下数据库,以及转存一下静态文件
接下来就是配置Supervisor守护进程了,因为我用了宝塔,宝塔里面有现成的Supervisor管理器,这里就直接使用宝塔的管理器了
填写进去启动信息,保存即可
最后就是大家都熟悉的Nginx配置反向代理了,反向代理到对应的域名上就可以了,不过这里有个坑,是关于静态文件的,宝塔默认的配置里包含了css和js的相关配置,要去给他删了才行
到此配置全部完成,代码成功上线啦。
发表回复