首先你的centos7上需要安装python,最好是python3,本人是从python3开始学的,python3最好是用anaconda3安装,具体anaconda3如何安装在我的另一篇博客里面有,连接是https://blog.csdn.net/zhao12501/article/details/79832921。
安装好之后用pip命令安装需要的插件(自己安装python3的时候会遇到pip不能使用的问题,我也被坑了好久,然而还是解决不了)。
pip install django //安装django
pip install pymysql //安装pymysql,
(这个地方有个坑,在linux上django和mysql的连接需要pymysql1.4.3以上,然而我们只能安装到pymysql0.9.3。解决办法:进入/anaconda3/lib/python3.7/site-packages/django/db/backends/mysql下,
vim bash.py
#if version < (1, 3, 13):
# raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
把上面这两句注释掉,保存、退出
vim operations.py
# if query is not None:
# query = query.decode(errors='replace')
把上面这两句注释掉,保存、退出(这个地方会报编码的错误)
)
然后安装一些其他自己需要的插件,python的安装问题基本完成,如果你安装好了mysql,就可以直接运行服务器了
nohup python manage.py runserver 0.0.0.0:80 & //不挂断的运行服务器程序,否则远程命令窗一关闭,服务器程序也会关闭,该命令执行后会显示该进程号,可用kill命令关闭服务器
ps -ef 可以查看你所执行的命令和其对应的进程号
nohup ***** & ( *****是你要执行的命令) 命令可以使程序在远程命令窗关闭后依然运行,并且在命令执行的目录下生成一个nohup.out文件,程序的标准输出内容会被存储在nohup.out内,但是如果程序一直运行,该文件会不断变大,占满内存空间
1、解决方案
1、只记录异常日志
# nohup python -u **** >/dev/null 2>error.log 2>&1 &
2、不记录任何日志
# nohup python -u *** >/dev/null 2>&1 &
2、简述
1)/dev/null 属于字符特殊文件,属于空设备,它是一个特殊的设备文件,会丢弃所有一切写入其中的数据,写入它的内容都会永远丢失。一般会把/dev/null当成一个垃圾站,所有不需要的信息丢进去。
2)Linux的重定向
0:表示标准输入;
1:标准输出,在一般使用时,默认的是标准输出;
2:表示错误信息输出。
3、总结
nohup python -u *** >/dev/null 2>error.log 2>&1 &
表示将***程序的错误信息输出到error.log 文件,其他信息丢进/dev/null。
nohup python -u *** >/dev/null 2>&1 &
表示将***程序的错误信息重定向到标准输出,其他信息丢进/dev/null。
暂时写到这了,具体有关nohup命令和MYSQL8.0+的安装问题下一篇再说