CentOS7部署Django详细操作步骤

版权声明:记录平常的一些知识点 https://blog.csdn.net/cz9025/article/details/85168739

软件版本详细介绍:
纯净操作系统:Centos7.2
Python版本:2.7.11
Django版本:1.11.17

查看系统版本

cat /etc/redhat-release 

一、安装各种工具包及依赖

yum -y groupinstall Development tools或者yum groupinstall Development tools
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc
如果没有安装wget的话,则安装:yum install wget

二、安装python

警告:如果卸载系统自带的python,则会导致某些软件不可用,谨慎!!
卸载方法:
强制删除已安装python及其关联:rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
删除残余文件:whereis python|xargs rm -frv

不想用系统自带的Python,自行安装前,先做如下操作:

mv /usr/bin/python /usr/bin/python275 (记住这个名称python275)
vi /usr/bin/yum 首行的/usr/bin/python,python改为python275
vi /usr/libexec/urlgrabber-ext-down 同上

下载Python:wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz
解压: xz -d Python-2.7.11.tar.xz
tar -xvf Python-2.7.11.tar

进入Python-2.7.11目录
编译指定路径./configure --prefix=/usr/local/Python-2.7.11
安装:make && make install
创建链接:ln -s /usr/local/Python-2.7.11/bin/python /usr/bin/python

三、安装setuptools

wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip
unzip setuptools-40.6.3.zip
cd setuptools-40.6.3
python setup.py install

四、安装pip

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
tar -zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
ln -s /usr/local/Python-2.7.11/bin/pip /usr/bin/pip

五、安装virtualenv

pip install virtualenv
ln -s /usr/local/Python-2.7.11/bin/virtualenv /usr/bin/virtualenv
mkdir -p /usr/local/src/env
mkdir -p /usr/local/src/webroot
进入/usr/local/src/env目录: 创建环境: virtualenv --python=/usr/bin/python pyweb
进入/usr/local/src/env/pyweb/bin目录
激活: source activate 如图,表示已经进入虚拟环境了

在这里插入图片描述

六、虚拟环境里用pip安django和uwsgi

pip install django
pip install uwsgi
ln -s /usr/local/Python-2.7.11/bin/uwsgi /usr/bin/uwsgi

七、创建Django项目

进入/usr/local/src/webroot目录
创建项目:django-admin.py startproject mysite
进入mysite:
创建:mkdir -p templates,用于存放模板文件
创建:mkdir -p static,用于存放静态文件
创建app:python manage.py startapp blog

八、配置项目

进入/usr/local/src/webroot/mysite/mysite目录:
配置setting.py:
vi setting.py
修改:
ALLOWED_HOSTS=[’*’]
DEBUG=False
TEMPLATES的DIRS里添加模板路径os.path.join(BASE_DIR, ‘templates’)
尾部添加:STATICFILES_DIRS = (os.path.join(BASE_DIR,‘static’), )
保存退出:wq

配置urls.py:
vi urls.py
添加:
from blog import views
urlpatterns = [

url(r’’, views.index),

]

进入/usr/local/src/webroot/mysite/templates目录:
vi index.html

<!DOCTYPE html>
<html>
    <head>
	    <meta charset="utf-8">
	    <title>mysite</title>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

进入/usr/local/src/webroot/mysite/blog/目录:
vi views.py
添加:
def index(request):
return render(request, ‘index.html’)

保存退出

九、启动项目

操作跟windows中一样
python manage.py runserver

图中红色字体中,表示还没同步到数据库,根据提示运行python manage.py migrate
再次启动项目就正常了
在这里插入图片描述

十、配置uwsgi

进入/usr/local/src/webroot/mysite目录,
vi mysite.xml
添加:

<uwsgi>    
   <socket>127.0.0.1:8008</socket> <!-- 自定义内部端口 --> 
   <chdir>/usr/local/src/webroot/mysite/</chdir> <!-- 项目路径 -->            
   <module>mysite.wsgi</module>  <!-- mysite为wsgi.py所在目录名--> 
   <processes>4</processes> <!-- 进程数 -->     
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

保存退出
执行下面命令:
uwsgi -x mysite.xml

十一、安装nginx及配置nginx.conf

进入/usr/local目录:
wget http://nginx.org/download/nginx-1.13.7.tar.gz
解压:tar -zxvf nginx-1.13.7.tar.gz
进入nginx-1.13.7目录:
./configure && make && make install
配置NG:
nginx一般默认安装好的路径为/usr/local/nginx,进入该目录:
vi /conf/nginx.conf
server中修改:

 include uwsgi_params;
 uwsgi_pass 127.0.0.1:8008;  #端口要和uwsgi里配置的一样
 uwsgi_param UWSGI_SCRIPT mysite.wsgi;  #wsgi.py所在的目录名+.wsgi
 uwsgi_param UWSGI_CHDIR /usr/local/src/webroot/mysite; #项目路径

保存退出
再进入当前的sbin目录:
执行:./nginx
终端没有任何提示就证明nginx启动成功

在这里插入图片描述

在浏览器上访问
如果不能打开页面,尝试关闭防火墙再试
systemctl stop firewalld
或者查看uwsgi进程:ps -ef| grep uwsgi
然后杀掉uwsgi: kill -9 id
再进入虚拟环境重新启动uwsgi
再次执行:./nginx -s reload

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cz9025/article/details/85168739