关闭
Hit
enter
to search or
ESC
to close
May I Suggest ?
#leanote #leanote blog #code #hello world
柯仓无居所
Home
Archives
Tags
Search
Django部署注意事项
? linux ?
? pip ?
? nginx ?
826
0
0
swimming
? linux ?
? pip ?
? nginx ?
# Django部署注意事项 > 此文主要为使用部署习惯,仅供参考**以ubuntu系统为参考**。 - 部署服务器,建议创建2个账户,一个普通账户,用来启动django项目;一个管理账户,用来需要root权限的操作**sudo -i 可以切换到root**;root禁止ssh登陆,相关操作命令如下: ```bash # 创建账户: useradd user useradd manager sed -i 'N;98amanager ALL=(ALL) ALL' /etc/sudoers# 禁止root用户登陆 sed -i 's/PermitRootLogin*/PermitRootLogin no/g' /etc/ssh/sshd_config # 重启 ssh 服务 systemctl restart sshd.service ``` - 如果使用80端口或者443端口转内部项目的8000端口,则需要安装Nginx,安装完成后需要配置Nginx的端口转发策略,相关例子如下: ```bash # 安装Nginx apt-get install -y nginx # 修改Nginx配置,备份一下nginx.conf后直接粘贴一下内容 cp /etc/nginx.conf{,_20200712} ## nginx conf 详情 user www-data; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/log//nginx.pid; events { worker_connections 1024; } 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 /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost:8000; access_log /var/log/nginx/access.log main; location / { root html; index index.html index.htm; proxy_pass http://127.0.0.1:8000; } # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ## ------>>>| nginx相关操作命令: #测试配置文件是否配置正确 cd /usr/sbin;./nginx -t # 启动nginx,nginx如果安装为服务的话可以使用systemctl启动或者重启 cd /usr/sbin;./nginx & # 查看运行配置内容 cd /usr/sbin;./nginx -T # 查看Nginx编译安装模块 cd /usr/sbin;./nginx -V ``` - 创建django项目迁移;例如在普通user用户下,创建一个python的virtualenv环境,同时需要将你开发的环境下的python包列表导出,迁移到服务器上安装,相关使用到的操作命令如下: ```bash # 导出python包列表,注意一定要在python的项目虚拟环境下操作 pip freeze > pip.list # 如果部署的系统没有上网,则可以使用离线方式安装包,但也需要将包列表导出后才可以操作,一定要注意,两边系统都一样的情况下才可以使用 pip download -r pip.list # 离线安装 pip install --no-index --find-links=./ -r pip.list # 离线环境下python虚拟机创建命令 virtualenv appname --never-download ``` - django项目部署方式,建议在系统上启动screen窗口在窗口内启动项目,方便查看日志,也部署在关闭窗口后项目停止,相关操作如下:[参考地址](https://www.jianshu.com/p/9302bfb4da4b) ```bash # 安装screen apt-get install -y screen # 生成screen窗口,screen 或者 screen -S [appname] # 查看screen 列表 screen -ls # 没有登陆screen,但是显示 (Attached)问题解决 screen -D -r screen-id # 重新登陆 screen -r screen-id # 观察模式登陆 screen -x screen-id # screen 退出方式,Ctrl-a d # 不进入screen 执行命令 screen -dmS screen-name command ```
觉得不错,点个赞?
提交评论
Sign in
to leave a comment.
No Leanote account ?
Sign up now
.
0
条评论
More...
文章目录
No Leanote account ? Sign up now.