django+uwsgi+nginx上线

声明

本文不保证一定成功,且属于上线后总结,可能有个别步骤遗漏。

虚拟机中python的安装

在root用户的状态下,先根目录下创建一个py3,然后安装下面这一堆的东西。

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel mysql-devel MySQL-python
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y

下载python安装包

安装完环境之后就去官网复制链接wget python.tgz的压缩包,在py3目录下下进行解压:tar -zxvf Python-3.x.x.tgz(根据自己的项目选择版本)
在这里插入图片描述
上面解压完之后的路径文件,然后切换到/usr/local那创建python3文件夹作为安装目录。
接下来就是切换到py3中的python-3.7.3中。
执行命令:./configure --prefix=/usr/local/python3/
意思是把python3安装到Prefix指令目录中。
执行完之后依次执行命令:make和make install
在这里插入图片描述
安装完之后没有报错,就可以切换到自己建的python3文件夹中查看,如图所示。但是此时还未建立软连接。所以直接输入python3是无法进入python环境中的。

python3软连接

执行命令建立软连接:ln -s /usr/local/python3/bin/python3 /usr/bin/python3 (第一个是文件所在路径)
执行命令:python3 --version 查看版本是否正确,无误则可以直接通过python3进入编译环境。

pip3也建立软连接

在这里插入图片描述

删除py3

在这里插入图片描述
最后还要pip3 install mysqlclient

安装uwsgi,nginx

uwsgi 安装和软连接

在这里插入图片描述

nginx安装

首先是要先添加安装源
rpm -ivh http://nginx.org/download/nginx-1.19.9.tar.gz
yum install nginx

配置django的setting以及上传到linux服务器中

DEBUG = False
STATIC_URL = '/pstatic/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'pstatic')
]
STATIC_ROOT = os.path.join(BASE_DIR,'static')
#上面的环境改了之后。去linux中执行 cd到manage.py那里。  然后python3 manage.py collectstatic生成静态文件夹
#pstatic是用于线下测试的原静态资源存放。

上传先在左上角settings中更改环境依赖,选择sftp连接服务器的环境,然后在tools中上传到对应服务器的文件夹中。

uwsgi文件配置

在manage.py的同级目录中创建一个uwsgi.ini

[uwsgi]
socket = localhost:8080
chdir = /data/www/profession_system 
#profession_system下级目录便是profession_systems和manage.py等

module=profession_systems.wsgi:application 
#profession_systems中的wsgi文件

master = true
processes = 5
threads = 2
max-requests = 2000
chomd-socket = 664
vacuum = true

#下面这三个首先要在profession_system目录下创建一个uwsgi文件夹,否则会报错。
status = /data/www/profession_system/uwsgi/uwsgi.status
pidfile = /data/www/profession_system/uwsgi/uwsgi.pid
daemonize = /data/www/profession_system/uwsgi/uwsgi.log

#%(chdir)

nginx配置文件

我nginx的路径是/usr/nginx/nginx.conf

server{
       listen 80;
       server_name 192.168.x.x; # 这是你的域名  
       charset utf-8;

       client_max_body_size 75M;

        location / {
            uwsgi_pass localhost:8080;
            include /usr/local/nginx-1.18.0/conf/uwsgi_params; #nginx路径自己去看一下
                   }
        location /static {
                alias /data/www/profession_system/static/;#这是你静态文件的存放地
                }

项目运行上线

当配置完上面的一切之后,基本就没问题了。可以cd 到django项目(uwsgi.ini那一级)。
执行命令:uwsgi3 --ini uwsgi.ini
启动nginx:systemctl start nginx
然后在本地打开浏览器输入域名即可访问项目。

重启uwsgi的命令:ps aux|grep uwsgi
先查看进程
然后kill -9 xxx
杀死原uwsgi
再次uwsgi3 --ini uwsgi.ini

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值