Django部署项目
环境:操作系统:linux(centos7)进入虚拟机环境安装依赖包yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make下载python包wget https://www.python.org...
·
环境:
操作系统:linux(centos7)
进入虚拟机环境
安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
下载python包
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.2.tar.xz
解压python包
tar -Jxvf Python-3.6.2.tar.xz
安装路径的配置
cd Python3.6.2
./configure prefix=/usr/local/python3
编译安装
make && make install
创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# 测试python是否安装成功、软连接是否创建成功
python3
创建pip3软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
安装django 系列
pip3 install pymysql && pip3 install pillow && pip3 install django=2.1.5 && pip3 install django-ckeditor
安装uwsgi、创建软连接
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
测试uwsgi 和 django的契合
uwsgi
使用uwsgi启动django项目
uwsgi --http 10.10.65.40:8000 --file Ourblog/wsgi.py --static-map=/static=static
在/opt下创建script目录
在script目录下创建uwsgi.ini
[uwsgi]
chdir=/opt/OurBlog 项目目录
module=OurBlog.uwsgi:application 模块类型
socket=/opt/script/uwsgi.sock sock文件
workers=5 进程
pidfile=/opt/script/uwsgi.pid 进程id
http=10.10.65.95:8000 ip和端口
static-map=/static=/opt/OurBlog/static 静态文件路由和静态文件
uid=root 用户id
gid=root 组id
master=true 是否启用主进程
vacuum=true 项目停止删除冗余文件
enable-threads=true 是否启用线程
thunder-lock=true 序列化接收内容
karakiri=30 自中断时间
post-buffering=4096 缓存
daemonize=/opt/script/uwsgi.log 日志
:wq 保存
修改ini文件权限
chmod 777 uwsgi.ini
使用脚本运行django项目
uwsgi --ini uwsgi.ini
安装nginx、解压包
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
切入解压目录、编译安装
cd nginx-1.12.2
./configure \
>
make && make install
创建软连接
ln -s /usr/local/nginx/sbin/nginx/ /usr/bin/nginx
nginx 启动测试
nginx
开始配置nginx (/usr/local/nginx/conf/nginx.conf)
http {
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 on;
server {
listen 80;
server_name Qshop; 服务的名称
charset utf-8; 编码格式
access_log logs/host.access.log main; 访问日志
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_log /var/log/nginx/error.log error; 错误日志,默认没有,需要手动创建
location / {
include uwsgi_params; 加载uwsgi_params
uwsgi_connect_timeout 30; 连接的超时时间 不要加冒号不要加冒号不要加冒号
uwsgi_pass unix:/opt/script/uwsgi.sock; uwsgi.sock通讯的文件地址
}
location = /static/{
alias /opt/Qshop/static; 静态文件的目录
index index.html index.htm;
}
关闭nginx和uwsgi
pkill -9 uwsgi
pkill -9 nginx
先启动uwsgi 然后启动nginx
Uwsgi --ini uwsgi.ini
nginx
部署完成了 可以访问项目了
更多推荐
已为社区贡献2条内容
所有评论(0)