阿里云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的主要内容,如果未能解决你的问题,请参考以下文章
阿里云ECS服务器部署HADOOP集群:Hadoop完全分布式集群环境搭建
10 腾讯云+django2.0+uwsgi+mysql+nginx 部署