今天说一下关于django部署到centos服务器上的方法。之前在网上看说在虚拟环境里做这个 但是由于本人太笨 没有成功 于是在服务器真实环境给搞起了,非常感谢django中文网给提供的帮助!!
一、更新系统软件包
yum update -y
二、安装软件管理包和可能使用的依赖
yum -y groupinstall “Development tools”
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
三、下载Pyhton3到/usr/local 目录并解压安装
cd /usr/local
get https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar -zxvf Python-3.6.6.tgz
cd Python-3.6.6
./configure --prefix=/usr/local/python3
make&make install
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
给pip升个级
pip3 install --upgrade pip
四、创建文件装项目
mkdir -p /data/env
mkdir -p /data/wwwroot
五、根据pycharm的版本安装django可以使用pip list查看版本
pip3 install django=xxxx(xxxx为你的版本号比如说3.1.2)
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
六、使用mysql而不是使用django的自带数据库的话需要安装MySQL
下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
启动数据库
systemctl start mysqld.service
这个时候因为密码是随机的所以需要找到密码
grep “password” /var/log/mysqld.log
使用刚找到的密码进数据库
mysql -uroot -p
更改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
(因为密码又安全规范设置,如果需要设置简单密码自己更改策略)
七、使用pycharm将项目上传到服务器
这个是我配置过的
连上你的服务器
上传项目到你的服务器
八、进入项目路径安装requirements.txt里的依赖包。
pip freeze > requirements.txt
pip3 install -r requirements.txt
九、运行项目
python3 manage.py runserver
十、项目运行正常后配置uwsgi
网站项目路径是 /data/wwwroot/django/
touch django.xml
vim django.xml
对我下边的代码自行进行更改
<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
<chdir>/data/wwwroot/django/</chdir> <!-- 项目路径 -->
<module>untitled3.wsgi</module> <!-- untitled3为wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
十一、安装nginx和配置nginx.conf文件
cd /home/
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
./configure
make&make install
cp nginx.conf nginx.conf.bak(备份)
rm -rf nginx.conf(删除这个文件)
touch nginx.conf
vim nginx.conf
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.django.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT untitled3.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite/; #项目路径
}
location /static/ {
alias /data/wwwroot/django/static/; #静态资源路径
}
}
}
进入/usr/local/nginx/sbin/目录
执行./nginx -t命令先检查配置文件是否有错,没有错就执行以下命令:./nginx
十二、访问项目的页面。
cd /data/wwwroot/django/
uwsgi -x mysite.xml
以上步骤都没有出错的话。
进入/usr/local/nginx/sbin/目录
执行:
./nginx -s reload
重启nginx
最后输入你的网址就可以进去了