nginx+uwsgi部署django项目

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1. python3.9环境安装

  1. 安装依赖
yum install zlib zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget
  1. 下载源码 官网地址
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz
  1. 解压 & 编译 & 安装
xz -d Python-3.9.6.tar.xz
tar -xf Python-3.9.6.tar
cd Python-3.9.6
./configure prefix=/usr/local/python3
make && make install
  1. Python解释器配置豆瓣源
pip3 config set global.index-url https://pypi.douban.com/simple/

2. 虚拟环境安装

pip3 install virtualenv
pip3 install virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6    #指定虚拟环境默认的python版本
export WORKON_HOME=~/.envs     #指定创建好的新的虚拟环境保存在哪个文件夹下
source /usr/local/bin/virtualenvwrapper.sh    #执行virtualenvwrapper.sh 脚本
source ~/.bashrc

命令使用

mkvirtualenv test  # 创建并切换到test虚拟环境   放在了 ~/.envs 里面
deactivate  # 离开test虚拟环境
rmvirtualenv test # 删除test虚拟环境
workon demo # 切换到demo虚拟环境

3. uwsgi安装配置

pip3 install uwsgi
  1. 使用命令启动uwsgi
#在项目目录中执行
uwsgi --http 192.168.163.128:9000 --file BBS/wsgi.py --static-map=/static=static
  1. 使用配置文件启动 [ini]

    在项目同级目录下创建一个script文件夹把配置文件放在里面

[uwsgi]
# 指向项目目录
chdir =  /root/projects/BBS/BBS/
#启动uwsgi的用户名和用户组
uid=root
gid=root
#指定项目的application
module=BBS.wsgi:application
#指定sock的文件路径
socket=/root/projects/BBS/script/uwsgi.sock

#virtualenv = /root/.envs/django_env

#启动主进程
master = true
# 进程个数
workers = 2
pidfile=/root/projects/BBS/script/uwsgi.pid
#自定移除unix socket和pid文件当服务器停止的时候
vacuum =true
#序列化接受的内容如果可能的话
thunder-lock=true
#启动线程
enable-threads=true
#设置自中断时间
harakiri=30
#设置缓冲
post-buffering=1028
#设置日志目录
daemonize=/root/projects/BBS/script/uwsgi.log

启动命令

#要在虚拟环境中启动哦
#要在script文件夹下启动哦
uwsgi --ini uwsgi.ini

查看uwsgi是否启动

ps -ef |grep -i uwsgi

起来之后会在script文件夹下生成一些文件

image-20230128194359905

4.nginx安装和配置

新建配置yum源

vim /etc/yum.repos.d/nginx.repo

# 写入一下内容
[nginx]
name=nginx repo
#7是centos的版本
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安装

yum -y install nginx 

添加Nginx配置文件

cd /etc/nginx/conf.d/

vim bbs.conf  #名字跟项目一样

#写入一下内容
server{
	listen 80;
	server_name 192.168.163.128;
	access_log /var/log/nginx/access.log  main;
	charset utf-8;
	gzip on;
	gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream;
	error_page 404         /404.html;
	error_page  500 502 503 504 /50x.html;
	#指定项目路径uwsgi
	location / {
        include uwsgi_params;
        uwsgi_connect_timeout 30;
        uwsgi_pass unix:/root/projects/BBS/script/uwsgi.sock;
	}
	#指定项目静态文件路径
	location /static/ {
		alias /root/projects/BBS/BBS/static/;
		index index.html index.html;
	}
}

5.静态文件配置

#项目settings.py中添加
STATIC_ROOT=os.path.join(BASE_DIR,'static_all')
#收集
python3 manage.py collectstatic --noinput

image-20230128232540817

修改nginx配置文件

 location /static {
                alias /root/projects/BBS/BBS/static_all/;
}

image-20230128232722665

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginxgo