Centos环境部署django项目的全过程(永久复用)

部署Django项目的全过程可以分为以下几个步骤:

1. 安装Python和pip

在CentOS系统下,可以使用yum包管理器进行安装。首先更新yum:

sudo yum update

然后安装Python和pip:

sudo yum -y install python36

sudo yum -y install python36-pip

2. 安装Virtualenv

为了隔离不同的Python项目,我们需要使用一个虚拟环境。这里介绍使用Virtualenv。

安装Virtualenv:

sudo pip3 install virtualenv

创建虚拟环境:

virtualenv name_of_environment

激活虚拟环境:

source name_of_environment/bin/activate

3. 安装Django和其他依赖

在虚拟环境中,使用pip安装Django和其他需要的依赖:

pip install django

pip install psycopg2-binary (如果需要连接PostgreSQL数据库)

pip install django-cors-headers (如果需要解决跨域问题)

4. 创建Django项目

使用Django的命令行工具创建项目:

django-admin startproject project_name

创建完毕后,可以使用以下命令启动Django应用:

python manage.py runserver

5. 配置数据库

在Django项目中,可以使用多种数据库。这里以PostgreSQL为例。

首先需要安装PostgreSQL,使用yum安装:

sudo yum -y install postgresql

安装完成后,创建数据库和用户:

sudo su - postgres

createdb database_name

createuser -P

Enter password for new user:

Enter it again:

Shall the new user be allowed to create databases? (y/n) y

Shall the new user be allowed to create more new users? (y/n) n

编辑Django项目中的settings.py文件,将DATABASES中的信息修改为:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql',

'NAME': 'database_name',

'USER': 'username',

'PASSWORD': 'password',

'HOST': 'localhost',

'PORT': '5432',

}

}

6. 配置静态文件

如果需要使用静态文件,需要在settings.py中添加以下内容:

STATIC_URL = '/static/'

STATICFILES_DIRS = [

os.path.join(BASE_DIR, "static"),

]

同时,在项目的根目录下创建一个名为static的文件夹,并将静态文件放在其中。

7. 部署项目

使用uwsgi和nginx进行项目的部署。首先安装uwsgi:

sudo pip3 install uwsgi

创建一个名为uwsgi.ini的文件,内容如下:

[uwsgi]

chdir = /path/to/project

module = project_name.wsgi:application

master = true

process = 4

socket = /path/to/project/project_name.sock

chmod-socket = 666

vacuum = true

其中,chdir是项目的绝对路径,module是wsgi的路径(注意后面有个冒号),socket是uwsgi的socket文件路径。

安装nginx:

sudo yum -y install nginx

配置nginx,在/etc/nginx/conf.d目录下创建一个名为project_name.conf的文件,内容如下:

server {

listen 80;

server_name your_domain_name;

location / {

uwsgi_pass unix:///path/to/project/project_name.sock;

include /etc/nginx/uwsgi_params;

}

location /static/ {

autoindex on;

alias /path/to/project/static/;

}

}

其中,server_name是你的域名,location /static/是静态文件的路径。

启动nginx和uwsgi:

sudo systemctl start nginx

uwsgi --ini uwsgi.ini

至此,Django项目的部署就完成了。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签