image.png
image.png

配置文件在nginx.conf

  1. user root;
  2. worker_processes 1;
  3. events {
  4. worker_connections 1024;
  5. }
  6. http {
  7. include mime.types;
  8. default_type application/octet-stream;
  9. sendfile on;
  10. keepalive_timeout 60;
  11. gzip on; #开启gzip
  12. gzip_static on; #使用静态预压缩文件
  13. gzip_disable "msie6"; #IE6不使用gzip
  14. gzip_vary on; #设置为on会在Header里增加 "Vary: Accept-Encoding"
  15. gzip_proxied any; #代理结果数据的压缩
  16. gzip_comp_level 6; #gzip压缩比(1~9),越小压缩效果越差,但是越大处理越慢,所以一般取中间值
  17. gzip_buffers 16 8k; #获取多少内存用于缓存压缩结果
  18. gzip_http_version 1.1; #识别http协议的版本
  19. gzip_min_length 1k; #设置允许压缩的页面最小字节数,超过1k的文件会被压缩
  20. gzip_types application/javascript text/css image/gif; #对特定的MIME类型生效,js和css文件会被压缩
  21. proxy_intercept_errors on;
  22. server {
  23. #SSL 访问端口号为 443
  24. listen 443 ssl;
  25. #填写绑定证书的域名
  26. server_name yulan.net.cn;
  27. #证书文件名称
  28. ssl_certificate /etc/nginx/ssl/1_yulan.net.cn_bundle.crt;
  29. #私钥文件名称
  30. ssl_certificate_key /etc/nginx/ssl/2_yulan.net.cn.key;
  31. ssl_session_timeout 5m;
  32. #请按照以下协议配置
  33. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  34. #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
  35. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  36. ssl_prefer_server_ciphers on;
  37. root /home/ubuntu/blog/src/yulan_blog/www;
  38. access_log /home/ubuntu/blog/src/yulan_blog/log/access.log;
  39. error_log /home/ubuntu/blog/src/yulan_blog/log/error.log;
  40. error_page 404 /404.html;
  41. location /404.html {
  42. root /usr/share/nginx/html;
  43. }
  44. location ~ ^\/static\/.*$ {
  45. root /home/ubuntu/blog/src/yulan_blog/www;
  46. }
  47. location / {
  48. proxy_pass http://127.0.0.1:5000;
  49. proxy_set_header X-Real-IP $remote_addr;
  50. proxy_set_header Host $host;
  51. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  52. }
  53. }
  54. server{
  55. listen 80;
  56. server_name yulan.net.cn;
  57. #把http的域名请求转成https
  58. return 301 https://$host$request_uri;
  59. }
  60. }

nginx重新加载

  1. sudo /etc/init.d/nginx reload

版本更新

先在本地push www-update文件夹到github
再到linux上执行脚本update.sh

update.sh

  1. #!/bin/bash
  2. rm -rf ./blog_iteration
  3. git clone https://c9796d2b5988406e320b669f16ba77dd118750ad@github.com/yulansp/blog_iteration.git
  4. read -p "Enter new version number: " versionnum
  5. read -p "Enter update content: " content
  6. #向mysql写入更新信息
  7. release_time=` date "+%Y-%m-%d" `
  8. insert_sql="insert into timeline values('$versionnum','$content','$release_time');"
  9. echo $insert_sql
  10. mysql -uroot -p@wht990125 yulan_blog -e "${insert_sql}"
  11. #更改www软链接
  12. path="/home/ubuntu/blog/src/yulan_blog/www"
  13. mv ./blog_iteration/www-update ./$versionnum
  14. ln -snf /home/ubuntu/blog/src/yulan_blog/$versionnum $path
  15. #重启进程
  16. sudo supervisorctl stop yulan_blog
  17. sudo supervisorctl start yulan_blog
  18. #更换诗词
  19. python3 ./www/shici_change.py
  20. #将所有静态文件压缩
  21. cd $path
  22. files=` find ./ -regex ".*\.js\|.*\.css" `
  23. for file in $files
  24. do
  25. gzip -k $file
  26. done

supervisor配置

  1. [program:yulan_blog]
  2. environment=PYTHONPATH='/home/username/.local/lib/python3.6/site-packages/'#重要,指定packge路径,不然可能出现import错误
  3. command = python3 /home/ubuntu/blog/src/yulan_blog/www/app.py
  4. directory = /home/ubuntu/blog/src/yulan_blog/www
  5. user = root
  6. startsecs = 3
  7. redirect_stderr = true
  8. stdout_logfile_maxbytes = 50MB
  9. stdout_logfile_backups = 10
  10. stdout_logfile = /home/ubuntu/blog/src/yulan_blog/log/app.log

然后执行

  1. sudo supervisorctl reload
  2. sudo supervisorctl start awesome

配置winscp

1.png
2.png
3.png

  1. cat /etc/ssh/sshd_config |grep -i sftp-server

image.png

image.png