阿里云centos7.3部署django2

Posted Pkill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云centos7.3部署django2相关的知识,希望对你有一定的参考价值。

第一步 购买服务器

我用的是阿里云,设置好端口和root密码,我们这里开放了8000端口。
登录到我们的服务器上,可以使用命令行cmd、cmder、powershell。推荐使用cmder。

ssh root@IP(服务器的公网IP)

安装python3

这里我们使用源码安装。将目录切换到/usr/local。

yum install libffi-devel -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
cd /usr/local
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

至此,python3和pip安装完毕

第三步 安装nginx

 vi /etc/yum.repos.d/nginx.repo
#添加以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/x86_64/
gpgcheck=0
enabled=1

执行

yum install nginx
setenforce 0
service firewalld stop

第四步 安装mysql

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql-server

之后进入mysql设置好root用户密码即可,如果出现问题,可以去百度。
设置好密码之后要新建我们用到的数据库,建库命令

create database 数据库名称 default charset utf8 collate utf8_general_ci1

第五步 安装依赖包

安装依赖
yum install -y mysql-devel python-devel

TIPS:如果不安装的话,安装mysqlclient会出现问题。
安装依赖包有两种方法,一种是一个一个包使用pip安装。
我用的是第二种
首先在自己的电脑上执行
pip freeze > requirement.txt
并且将这个文件放到项目根目录下。

这样我们的库及版本号就打包好了,我的是这个样子的:

Django==2.0.3
django-ckeditor==5.7.1
django-js-asset==1.2.2
mysqlclient==1.4.2.post1
Pillow==6.1.0
pytz==2019.1
uWSGI==2.0.18

第六步 上传项目

我的项目名称叫mysite。
将我们的项目文件打包成mysite.zip文件。在项目zip文件的目录(全英文)下打开cmder,使用如下命令

scp mysite.zip root@IP:/root

这样我们就将我们的项目上传到了服务器上的root目录下
使用unzip命令解压 unzip mysite.zip
进入项目目录
使用以下命令安装依赖包

pip3 install -r requirement.txt

#配置uwsgi
ln -s /usr/local/bin/uwsgi /usr/bin/uwsgi
数据迁移和配置修改

修改setting.py

DEBUG = False

ALLOWED_HOSTS = ['*']

同时修改mysql数据库的密码为我们刚才设定的密码,如果有设定STATIC_URL,请先注释掉,等执行完migrate命令完之后再取消注释。
回到项目根目录,执行

python3 manage.py migrate
python3 manage,py createsuperuser

然后在setting.py中加入
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在项目根目录下执行

python3 manage.py collectstatic1

至此我们的项目修改完成。

第七步 uwsgi

在项目根目录下创建django_uwsgi.ini文件,内容如下

[uwsgi]
socket= 127.0.0.1:8080

chdir=/root/website/mysite#这个是项目mysite的根目录,别的地方都不用修改

module=company_site.wsgi:application

master=true

processes=4

vacuum=ture

编辑完成就可以了。

第八步 配置nginx

1 修改/etc/nginx/conf.d/default.conf

首先备份

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
vi /etc/nginx/conf.d/default.conf

在最下面添加:

server {
listen 8000;
server_name 127.0.0.1;

location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
location /static{
alias /root/website/mysite/static/;#自己项目的静态文件路径
}

}
2 修改/etc/nginx/nginx.conf

只修改第一行,修改为(因为我们的项目放在root目录下,所以我们如果不修改成root,静态文件是没有权限访问的)

user  root;

使用以下命令检查:

nginx -t


出现这个情况,我们就认为配置正确。
接下来重启nginx

service nginx restart

最后进入我们的项目根目录下,执行以下命令即可

uwsgi --ini django_uwsgi.ini

有什么问题多百度,一般都可以找到,如果找不到就按照步骤看自己缺了哪几步。有问题可以私信我。


以上是关于阿里云centos7.3部署django2的主要内容,如果未能解决你的问题,请参考以下文章

django+uwsgi+nginx阿里云服务器部署

阿里云ECS服务器部署HADOOP集群:Hadoop完全分布式集群环境搭建

阿里云服务器源码部署nginx服务器

10 腾讯云+django2.0+uwsgi+mysql+nginx 部署

阿里云CentOS7.3配置Java Web应用和Tomcat步骤

阿里云服务器 怎么用git部署代码