本地部署
安装hexo
npm install -g hexo-cli hexo-server npm install hexo-deployer-git --save
|
初始化
hexo init blog # 会在当前文件夹从GitHub克隆项目并下载依赖 hexo s # 本地启动
|
项目备份
可以托管到gitee仓库,每次修改除了提交到云服务外也要提交到gitee仓库。当本地和云服务丢失的时候方便从gitee仓库拉取。比如更换电脑重装系统导致本地文件丢失。
云服务部署
安装git
创建用户
useradd quxp passwd quxp #添加权限 vi /etc/sudoers quxp ALL=(ALL) ALL
|
创建目录
mkdir /home/hexo chown quxp:quxp -R /home/hexo
|
创建git仓库
mkdir -p /home/quxp cd /home/quxp git init --bare blog.git #创建一个名为blog的仓库,--bare参数为创建裸库 vim post-receive #输入内容 #!/bin/sh git --work-tree=/home/hexo --git-dir=/home/quxp/blog.git checkout -f
#赋予权限 chown quxp:quxp -R blog.git cd /home/quxp/blog.git/hooks chmod +x /home/repo/hexo-blog.git/hooks/post-receive #为钩子文件授予可执行权限(+x) chown -R quxp:quxp /home/hexo #将仓库目录的所有权移交给git用户
|
修改本地config
#_config.yml deploy: type: git repository: [email protected]:/home/quxp/blog.git branch: master
|
nginx反向代理配置
user nobody; worker_processes 1;
events { worker_connections 1024; }
http { include mime.types; default_type application/octet-stream;
sendfile on; keepalive_timeout 65; server { listen 80; server_name quxingping.com; location /drm { return 301 https://blog.quxingping.com/drm; }
location / { return 301 https://blog.quxingping.com; }
} server { listen 80; server_name blog.quxingping.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name blog.quxingping.com; root /home/hexo; index index.html index.htm; ssl_certificate cert/blog.quxingping.com_bundle.crt; ssl_certificate_key cert/blog.quxingping.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; add_header Cache-Control "public"; } gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; etag on; sendfile on; tcp_nopush on; tcp_nodelay on; output_buffers 1 32k;
} server { listen 80; server_name biji.quxingping.com;
proxy_set_header X-Forwarded-For $remote_addr; location / { proxy_pass http://127.0.0.1:9000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 400 403 404 497 https://$host$uri$args; } }
|
本地提交到远程仓库
hexo d -g # 提交部署到云服务 # 备份 git add . git commit -m "xx" git push
|
注意事项
因为多端写作,所以每次先拉取一下git上的文件。