virtualenv用于搭建虚拟环境,之后的一切操作最好都在虚拟环境下执行,可能用到的命令:
pip install virtualenv #安装 virtualenv path #指定路径文件夹创建虚拟环境 source env/bin/activate #激活虚拟环境,env为前面指定的文件夹 cd django-blog-tutorial #进入你的django项目 pip freeze > requirements.txt #生成项目依赖 pip install -r requirements.txt #安装项目依赖 python manage.py collectstatic #收集静态文件注意command命令,指定使用虚拟环境,指定读取文件去绑定端口。
使用以下命令查看是否配置成功:
netstat -lpnt #9090端口是否在监听 curl 127.0.0.1:9090 #是否显示出应有的页面内容配置文件如下:
server { listen 80; server_name www.zhougb3.cn; client_max_body_size 1m; access_log /home/ubuntu/sites/www.zhougb3.cn/blogproject/log/access_log; error_log /home/ubuntu/sites/www.zhougb3.cn/blogproject/log/error_log; root /home/ubuntu/sites/www.zhougb3.cn/blogproject; #gzip on; #gzip_min_length 1024; #gzip_buffers 4 8k; #gzip_types text/css application/x-javascript application/json; sendfile on; location /static { alias /home/ubuntu/sites/www.zhougb3.cn/blogproject/static; } location / { proxy_pass http://127.0.0.1:9090; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }正确配置之后,访问可以显示HTML页面,但是无法加载css样式,查了很多种方法。后面发现是nginx的权限问题。
#error.log "/home/ubuntu/sites/www.zhougb3.cn/blogproject/staticblog/js/jquery-2.1.3.min.js" failed (13: Permission denied), client: 120.236.174.168, server: www.zhougb3.cn, request: "GET /static/blog/js/jquery-2.1.3.min.js HTTP/1.1", host: "www.zhougb3.cn", referrer: "http://www.zhougb3.cn/"使用nginx -t显示得到nginx.conf路径,然后给配置文件添加’user root;’但是没有效果。同时该命令提示如下信息:
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) 2017/12/10 10:43:21 [warn] 2991#2991: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 2017/12/10 10:43:21 [emerg] 2991#2991: open() "/run/nginx.pid" failed (13: Permission denied)后面经过查找,真的是文件夹权限问题,把最外面的文件夹权限改成777就可以了。
django部署
django部署
gunicorn.conf.py