nginx+uwsgi部署django项目

1.准备服务器

下载xshell

 服务器准备工作完成 点击链接就会进入自己的服务器页面,出现下面情况表示成功

 2.python+django的安装

python有两种方法,一种是直接通过wegt访问python下载的地址下载解压包来进行解压安装。另一种是用xftp通过windows下传过来的python.tgz文件来进行解压安装。

 这个里面我已经传输了我的压缩包

也可以直接用wegt

wget https://www.python.org/ftp/python/3.6.0/Python-3.8.6.tar.xz

解压压缩包:tar -zxvf Python-3.8.6.tar.xz

加压后会生成python+版本号文件夹 进入文件夹  cd python+版本号

按顺序输入下面指令:

./configure --prefix=/usr/local/python36 #python的安装路径默认安装在/usr/local下

make install  #把压缩包内的代码通过make变成linux能识别到的代码

配置完成后需要更改python的环境变量,有的服务器是会自带环境变量。

echo $PATH #查看环境变量的配置

export PATH=/usr/local/python36/bin:$PATH #配置python版本的环境变量

这个时候我们需要建立python的软连接,因为我下载的是python3.8.6版本所以我更改了python3的软连接指向

我们切换到 /usr/bin目录下 

使用 ls -il python* #查看所有python的软连接

 rm -rf python3  #删除掉python3软连接

ln -s 你的python安装目录 /usr/bin/python3 #把你安装的python版本指向python3

如果建立成功输入 python3

 这样我们的python安装就成功了,安装成功python后相对应的需要安装django的一些依赖

pip install django

pip3 install django

可能安装django的时候会出现一些其它依赖的安装,只需要一个一个的安装就好。

3.uwsgi的安装和配置

pip3 install uwsgi

下载好uwsgi后进入到你的项目目录(或者自己新建一个启动文件夹也可以)建一个以.ini结尾的uwsgi文件,例如uwsgi.ini,

vim uwsgi.ini

进入uwsgi.ini文件后开始进行uwsgi的配置

[uwsgi]
socket = 服务器的地址:8000 # 服务器地址设置0.0.0.0表示可以接收不同服务器的nginx发送过来的请求,127.0.0.1表示只接收同一服务器发送过来的请求。因为我们准备使用的是nginx+uwsgi的项目所以我们的服务器地址可以通过 ifconfig命令来查看

 


# http = :5000     # 启动程序时所使用的地址和端口,通常在本地运行flask项目,
chdir = /home/repo/shareAPI/         # 你所在的项目目录项目目录
wsgi-file = AAshare/wsgi.py     # django wsgi.py所在的文件夹 例如我的文件夹在AAshare下 
manage.py runserver 来启动项目的callable = app       # 程序内启用的application变量名
processes = 4       # 处理器个数,进程个数 .一般最大填写CPU的核心数量
threads = 2       # 线程个数 ,默认的linux系统中一个进程最多2048个线程。 1 ~ 1024
stats = 127.0.0.1:9191     # 获取uwsgi统计信息的服务地址 ,只能本机访问
pidfile = /hoem/repo/project/uwsgi.pid       # 保存pid信息,方便停止服务和重启的时候用,以及保存pid文件的地址
daemonize = ./log/uwsgi.log # 后台运行时记录uwsgi的运行日志
lazy-apps = true           # 重启 ,当需要连接cassandra时,uwsgi无法启动服务,可以使用该选项设置
master-fifo = /opt/mt-search/web-service/mfifo   # 使用chain-reloading 逐个work重启,服务不中断, 命令是 echo c > mfifo
touch-chain-reload = true # 修改app.py内任意东西 保存即可重启uwsgi                                            master = true #主进程

配置好文件后进入.ini文件所在的目录

uwsgi --ini uwsgi.ini #启动uwsgi

 uwsgi --stop uwsgi.pid #结束uwsgi

4.安装配置nginx

在安装nginx之前我们要安装nginx所需要的相关依赖

yum install -y gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

http://nginx.org/en/download.html 下载nginx压缩包

通过xtfp传输到服务

在自己要的目录位置创建一个nginx文件夹

mkdir /usr/local/nginx

tar -zxvf 安装包名 #解压压缩包

./configure --prefix=/usr/local/nginx #安装到/usr/local/nginx目录

make #编译

make install #安装

ps -ef | grep nginx #查看nginx进程

安装好后进行nginx的文件配置,首先要进入到nginx的配置文件

 cd /usr/local/nginx/conf/nginx.conf 

vim进入文件

 

#user  nobody;
#工作进程数,一般配置成和cpu数量一致
worker_processes  1;

#全局错误日志及pid文件存放位置
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#nginx 启动master进程pid号
#pid        logs/nginx.pid;

events { #标识单个worker进程的最大并发数 worker_connections 1024; }

http {
    #引入 mime 类型定义文件
    include       mime.types;
    default_type  application/octet-stream;

   #设置日志生成格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;


  #连接的超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

   #解开注释就是开启gzip压缩
    #gzip  on;

include /home/repo/project/*.conf #引入的conf配置文件


server{

listen 80;#监听80端口

server_name localhost #可以使用localhost本地访问

location /{ root html;#引入的html文件所在的目录

                index index.html index.htm #html页面}

#错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

主配置文件配置完成后我们进入到我们的项目conf配置文件

在上面配置的过程中我include了一个conf文件所在的地方,他表示我所在的文件目录下的conf文件可以进行引入,现在我们要对这个conf文件进行配置。

进入我们引入conf目录后建立一个以.conf为后缀的文件 例如 agent.conf

进入文件

upstream agent {
        server 192.168.0.244:8000;#uwsgi开启的服务器地址
}


server {

listen  443; #nginx监听的接口,也就是你外网访问的端口

server_name chahui;

charset utf-8;

location /static {
                alias /home/repo/shareAPI/static;#静态文件
        }


location / {

uwsgi_pass 192.168.0.244:8000; #uwsgi的接口

include uwsgi_params;

uwsgi_param UWSGI_SCRIPT AAshare.wsgi; #wsgi的目录

uwsgi_param UWSGI_CHDIR /home/repo/shareAPI/; #项目目录



}

}

配置好后重启nginx

进入到nginx/sbin文件夹下输入./nginx -s reload

页面访问

uwsgi:

 

以上就是nginx+uwsgi的django项目部署

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Linux系统上部署Django + nginx + uWSGI的步骤如下: 1. 安装必要的软件 在Linux系统上安装必要的软件包,包括Python、pip、nginxuWSGI等。 2. 创建Django项目 使用Django创建一个新项目或使用现有的Django项目。 3. 配置uWSGIDjango项目的根目录下创建一个uwsgi.ini文件,用于配置uWSGI。示例配置如下: ``` [uwsgi] # 指定运行模式为WSGI http = :8000 # 指定Django应用的wsgi模块 wsgi-file = myproject.wsgi # 指定进程数 processes = 4 # 指定线程数 threads = 2 # 指定静态文件路径 static-map = /static=/path/to/static # 指定日志路径 logto = /path/to/logfile ``` 其中,http参数指定了监听的端口号,wsgi-file参数指定了Django应用的wsgi模块,processes参数指定了进程数,threads参数指定了线程数,static-map参数指定了静态文件的路径,logto参数指定了日志文件的路径。 4. 配置nginxnginx的配置文件中添加以下内容: ``` server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; } location /static { alias /path/to/static; } } ``` 其中,server_name指定了域名,access_log和error_log指定了日志文件的路径,uwsgi_pass指定了uWSGI的地址和端口号,include指定了uWSGI的参数。 5. 启动uWSGI服务 使用以下命令启动uWSGI服务: ``` uwsgi --ini uwsgi.ini ``` 6. 启动nginx服务 使用以下命令启动nginx服务: ``` sudo service nginx start ``` 这样就完成了Django + nginx + uWSGI部署。可以通过访问该网站的域名来验证是否部署成功。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值