一,准备工作:

代码一定要能本地跑起来!

各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题。

本地setting.py文件修改如下(改为生产模式,把debug关闭,添加host和静态文件地址):

项目目录内随便什么地方新建一个uwsgi.ini配置文件:

# dongpouu_uwsgi.ini file
[uwsgi] # Django-related settings socket = :8000
#真实服务的端口 # Django项目根目录 (绝对路径)
chdir = /home/dongpouu # wsgi.py文件在项目中的位置
module = dongpouu.wsgi # process-related settings
# master
master = true # 运行的进程数
processes = 1 # ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true

然后打一个zip包,通过ftp上传到服务器,注意上传路径要与uwsgi.ini内的地址一致:

然后在项目根目录,运行一条命令来收集静态文件(因为在生产模式下,django不会再自动管理静态路径。后面会通过配置交给nginx来管理):

python3 manager.py collectstatic

配置nginx。在/etc/nginx/目录下,找到nginx.conf文件,用vim打开它,然后在http{ }内部加入下面内容。这不是唯一的配置方式,其他的也试过很多坑,最终这一种成功!、

server {
#这里是nginx用到的端口,注意不要与django的搞混了,所有配置里边只有这个端口是与其他地方不一样的!!!
listen 80;
server_name dongpouu.com; charset UTF-8;
#这块存让日志文件
access_log /var/log/nginx/dongpouu_access.log;
error_log /var/log/nginx/dongpouu_error.log; location /static/ {
autoindex on;
alias /home/dongpouu/static/; #这里按照自己的实际情况来,包括下面的
} location /media/ {
autoindex on;
alias /home/dongpouu/media/;#这里按照自己的实际情况来,包括下面的
    } 
    client_max_body_size 75M;
    location / {
      include uwsgi_params; #同uwsgi内容
      uwsgi_pass 127.0.0.1:8000; #链接超时时间
      uwsgi_read_timeout 30; }
}

最后三条命令,部署生效(失败的自己排查肯定是配置问题):

killall -9 uwsgi # 杀死正在运行的uwsgi服务
uwsgi --ini dongpouu_uwsgi.ini # 注意要cd到该文件对应目录下,这条命令成功代表django项目顺利跑起来了!

service nginx reload # 重新加载nginx

最后访问www.dongpouu.com(你自己的网址,或者直接访问服务器的公网IP)看效果。

最新文章

  1. JQuery常用方法一览
  2. BFC布局原理
  3. DevExpress .NET界面开发示例大全
  4. PHP基本问题
  5. 第20章 使用LNMP架构部署动态网站环境
  6. Python学习总结14:时间模块datetime & time & calendar (一)
  7. X-Sequence
  8. HTML5的Server-Sent Events功能的使用
  9. 常用排序算法集合-C实现
  10. syntax error, unexpected '['
  11. 模型的继承 -- Django从入门到精通系列教程
  12. git第一次提交代码到码云
  13. laravel-阿里大于
  14. jvm理论-常量池-string
  15. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
  16. C#键盘事件处理父窗体子窗体
  17. 哨兵查找法(明解c语言) + 函数式宏
  18. Python核心编程 | 装饰器
  19. SpingBoot —— RestTemplate的配置
  20. 四、vue语法补充

热门文章

  1. 30 HashSet
  2. 10.2 io流 之字节流和字符流
  3. 【python实现卷积神经网络】激活函数的实现(sigmoid、softmax、tanh、relu、leakyrelu、elu、selu、softplus)
  4. 挑战全网最幽默的Vuex系列教程:第一讲 Vuex到底是什么鬼
  5. MAC 系统java开发环境搭建教程
  6. 通过Java HTTP连接将网络图片下载到本地
  7. ASE project demo:pdf
  8. Personal Photo Management Application
  9. T - Nash Matrix CodeForces - 1316D
  10. [linux][nginx] 常用2