今天说一下关于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将项目上传到服务器

centos7部署django环境 django部署到centos_linux

这个是我配置过的

centos7部署django环境 django部署到centos_nginx_02

连上你的服务器

centos7部署django环境 django部署到centos_centos7部署django环境_03

上传项目到你的服务器

八、进入项目路径安装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

最后输入你的网址就可以进去了