Centos7部署Uwsgi+Nginx+Django项目

第一步:更换yum的源,更换为国内的阿里云,这是为了方便安装python3的依赖

  1. 备份一下原本的yum源:
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

     

  2. 下载阿里云的yum源【我下的是CentOS7的,如果需要其他版本,那么只需要将下面的7改成5或6即可】【这一步需要能联网】:
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

     

之后运行给install生成缓存

yum makecache

第二步:直接通过yum来安装python3

  1. 下载python3【我下的是3.6.5】:
    wget "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz"

     

  2. 解压压缩包:
    tar -zxvf Python-3.6.5.tgz

     

  3.  进入目录:

    cd /tmp/Python-3.6.5/

     

  4. 安装python3的依赖

    yum -y groupinstall "Development tools"
    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

     

  5. 配置安装,把Python3安装到 /usr/local 目录【这里是可以自己选择安装到哪里,注意,如果不先安装依赖库,则这里会报错】:
    • ./configure --prefix=/usr/local/python3    【这个安装路径下面的bin有python3.6命令,后面后面要使用软链接链接过来的位置。】

       

  6. 安装python3 :
    make
    make install

     

  7. 检查python命令:imageimageimage

进入目录,查看链接情况:

cd /usr/bin

image                                                     确认python3的软链接是否成功,否则新建软链接

ln -s /usr/local/python/bin/python3.6 /usr/bin/python3

第三步:创建虚拟环境并进入

python3 -m venv /home/python3.6.5
source /home/python3.6.5/bin/activate

第四步:相关环境搭建

yum install python-dev
yum install python-pip 
yum install libxml*
yum install net-tools
yum install lsof

第五步:安装数据库及服务器

------安装mysql数据库---------
yum install mysql-server
yum install mysql-client
yum install libmysqlclient-dev
------更新pip版本---------
pip install --upgrade pip
------安装SSH---------
yum install openssh-server
------安装 Nginx---------
yum install nginx
------安装 uwsgi---------
 pip install uwsgi
------安装Django---------
pip install django==2.1.8

第六步:测试Uwsgi

测试uwsgi
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return “HelloWorld”

uwsgi --http :8001 --wsgi-file test.py

show variables like 'character_set_database';
create database <数据库名> character set utf8;

第七步:将项目上传到Linux系统中

第八步:修改Django项目

-------修改django项目的配置文件-----------
DEBUG = False
ALLOWED_HOSTS = ["*"]

-------静态文件-----------
说明:STATIC_ROOT必须设置,而且和STATICFILES_DIRS
不能共存

在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
然后运行(收集admin后台的静态文件,如果不收集,将来访问linux的blog的admin将没有样式):
python manage.py collectstatic

第九步:Nginx和Uwsgi文件配置

为你的项目创建一个uwsgi的配置文件,后缀为ini
[uwsgi]
socket = 127.0.0.1:9001
chdir           = /home/linux/Desktop/MyBlog
wsgi-file       = MyBlog/wsgi.py
master          = True
processes       = 4
threads         = 2
master=True
deamonize=/var/log/uwsgi/djangoProject.log
pidfile= /var/log/nginx/uwsgi.pid
vacuum          = True
reload-mercy    = 10
max-requests    = 5000
limit-as        = 512
buffer-size     = 30000

----进入etc/nginx/conf.d文件夹下创建django_nginx.conf文件------
server {
    listen         8000; 
    server_name    127.0.0.1 
    access_log      /var/log/nginx/myblog_access.log;
    error_log       /var/log/nginx/myblog_error.log;
	charset     utf-8;

    client_max_body_size 75M;
    root /home/linux/Desktop/MyBlog;
    location / { 
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9001;
        uwsgi_read_timeout 2;
    }   
    location /static/ {
        expires 30d;
        autoindex on; 
        add_header Cache-Control private;
        alias /home/linux/Desktop/MyBlog/static/;
     }
 }

第十步:运行项目

----通过uwsgi运行django项目------
重启nginx: sudo service nginx restart
uwsgi –ini 配置文件的路径(myblog_uwsgi.ini) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值