2016年12月

nginx+uwgis+django部署相关问题

1:出现无法安装pyhon3.5时手动更新源使用以下命令
(1)sudo add-apt-repository ppa:fkrull/deadsnakes
(2)sudo apt-get update
(3)sudo apt-get install python3.5
(4)sudo cp /usr/bin/python /usr/bin/python_bak,先备份
(5)sudo rm /usr/bin/python,删除
(6)sudo ln -s /usr/bin/python3.5 /usr/bin/python,默认设置成python3.5,重建软链接这样在终端中输入python默认就是 3.5版本了
2:当出现add-apt-repository command not found时:
sudo apt-get install software-properties-common python-software-properties
3:当安装uwgis出现gcc错误时:sudo apt-get install gcc
4:当安装uwgis出现 *** uWSGI compiling embedded plugins ***
[x86_64-linux-gnu-gcc -pthread] plugins/python/python_plugin.o
In file included from plugins/python/python_plugin.c:1:0:
plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
使用:
sudo apt-get install python3.5-dev(对应版本号选择)
5:前台启动uwgis,uwsgi --ini /home/django/search/search_uwsgi.ini &/usr/local/nginx/sbin/nginx
后台启动:uwsgi --ini /home/django/search/search_uwsgi.ini -d /home/log/uwsgi.log

Django+uwgis+nginx配置及http转发https

497错误重定向
nginx配置:
server {
               listen 80; #或监听ip:80
               listen 443 default ssl;#或监听ip:443
               server_name yunso.xyz
               charset UTF-8;
               access_log /var/log/nginx/search_access.log;
               error_log /var/log/nginx/search_error.log;
               error_page 497 https://yunso.xyz:443; #捕获497代码并跳转到https 无法跳转时使用监听ip:端口
               ssl on; #返回497代码
               ssl_certificate /usr/local/nginx/ssl/1_yunso.xyz_bundle.crt; #ssl的crt地址
               ssl_certificate_key /usr/local/nginx/ssl/2_yunso.xyz.key; #ssl的key地址
               client_max_body_size 75M;
               location / {
                              include uwsgi_params;
                              uwsgi_pass 127.0.0.1:8000;
                              uwsgi_read_timeout 2100s;
               }
               location /static {
                              expires 30d;
                              autoindex on;
                              add_header Cache-Control private;
                              alias /home/django/search/app/static/;
               }
}
注意问题:样式文件需要设置为本地路径,远程路径导致样式无法加载
497重写路由规则
server {
               listen 80;
               server_name my.domain.com;
               return 301 https://$server_name$request_uri; #新版本
               rewrite ^ https://$host$request_uri? permanent;#旧版本
}
server {
               listen 443 ssl;
               server_name my.domain.com;
               # add Strict-Transport-Security to prevent man in the middle attacks                      add_header Strict-Transport-Security "max-age=31536000"; [....]
}
错误497重定向
error_page 497 https://$host:$server_port$request_uri;