将服务器上的class文件拉到本地执行正常服务器上不行_Hexo博客推送到腾讯云服务器...
准备工作本地Hexo博客环境搭建(此处不做细讲)本地Hexo博客推送到云服务器配置云服务器端配置本地客户端配置 找到Hexo博客根目录下_config.yml 在最后找到repository或者repo选项,设置推送路径。配置如下,repository: ubuntu@server_name:/home/git/hexoBlog需要注意的是,腾讯云ubuntu服务器默认的服务器用户名为ubuntu
准备工作
- 本地Hexo博客环境搭建(此处不做细讲)
- 本地Hexo博客推送到云服务器配置
- 云服务器端配置
本地客户端配置
- 找到Hexo博客根目录下_config.yml
- 在最后找到repository或者repo选项,设置推送路径。配置如下,
repository: ubuntu@server_name:/home/git/hexoBlog
- 需要注意的是,腾讯云ubuntu服务器默认的服务器用户名为ubuntu,server_name填写服务器公网IP
服务器配置
hexo安装
sudo apt-get install npm
npm install hexo-cli hexo-server -g
// 如果直接在服务器端直接启动hexo,而不是通过git上来的静态文件
git配置
- 安装git sudo apt-get install git
- 创建git仓库
- 在/home目录下创建git目录并初始化, 修改目录的所有权和用户权限
- 一般的网站用的到也就是777、755、644这三种权限。其中每个权限都有三位数字组成,第一位表示所有者的权限,第二位表示同组用户权限,第三位表示公共用户权限,r代表读取权限等于4,w代表写入权限等于2,x代表执行权限等于1。
- 777的权限就是:rwxrwxrwx 。第一位7等于4+2+1,所以就是rwx,所有者有读取、写入、执行的权限;第二位7也是4+2+1,rwx,同组用户具有读取、写入、执行权限;第三位7,代表公共用户有读取、写入、执行的权限。
- 755的权限就是:rwxr-xr-x。第一位7等于4+2+1,所以就是rwx,所有者有读取、写入、执行的权限;第二位5也是4+0+1,r-x,同组用户具有读取、执行权限;第三位5,代表公共用户有读取、执行的权限。
- 644的权限就是:rw-r–r–。第一位6等于4+2+0,所以就是rw-,所有者有读取、写入的权限;第二位4也是4+0+0,r–,同组用户具有读取的权限;第三位4,代表公共用户有读取的权限。
sudo mkdir git
sudo chown -R $USER:$USER /home/git
sudo chmod -R 755 /home/git
cd /home/git
git init --bare hexoBlog.git
-
- 效果如下
3. 创建git钩子
- 将本地通过git上传的文件放到指令的hexo博客目录
- 在home目录下创建Hexo博客存储目录,该目录与上面本地所推送的目录保持一致
- 在hooks生成新的请求钩子
vi /home/git/hexoBlog.git/hooks/post-receive
添加下面 两行代码
!/bin/bash
git --work-tree=/home/hexoBlog --git-dir=/home/git/hexoBlog.git checkout -f
- 保存并退出,增加克执行权限
chmod +x /home/git/hexoBlog.git/hooks/post-receive
nginx配置
关于此处的配置,网上的一些说法对于新手来说很不友好。例如没有指出具体配置文件的路径,而且在使用apt-get install 方式安装的nginx在/etc/nginx/nginx.conf文件中没有server字段。
- 具体配置如下
- 打开配置文件
sudo vi /etc/nginx/sites-available/default
- 找到server字段,配置如下
# 网站备案之后可使用80端口
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /home/hexoBlog; # 博客静态文件存放路径
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name paolo.vip; # 域名
- 此时配置完成之后使用
sudo nginx -t
测试配置参数是否有误,正常情况返回success
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 重新启动nginx服务:service nginx restart
- 重新加载配置文件:nginx -s reload
- 上述配置完成之后可通过域名访问到博客,但是由于未增加SSL证书,会提示连接不安全。下面介绍ssl证书配置
- 申请证书
- 点击下载证书得到一个以你域名为文件名的压缩包,解压。将Nginx的内容推送到服务器。
- scp 上传下载介绍
- 从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
-
- 上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
-
- 从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
-
- 上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录
- 使用上传目录指令将文件传到服务器
- 在/etc/nginx/nginx.conf中的http字段修改配置
- 配置之后重新启动nginx服务:service nginx restart
- 重新加载配置文件:nginx -s reload
http {
##
# Basic Settings
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
# http节点中可以添加多个server节点
server{
#监听443端口
listen 443;
#对应的域名,把xyz.com改成你们自己的域名就可以了
server_name _;
ssl on;
#从腾讯云获取到的第一个文件的全路径
ssl_certificate /usr/local/nginx/cert/1_www.paolo.vip_bundle.crt;
#从腾讯云获取到的第二个文件的全路径
ssl_certificate_key /usr/local/nginx/cert/2_www.paolo.vip.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#文件夹
root /home/hexoBlog;
#主页文件
index index.html;
}
}
server{
listen 80;
server_name _;
rewrite ^/(.*)$ https://127.0.0.1:443/$1 permanent;
}
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
完结撒花
- 如有问题,欢迎指正
- 参考博客如下https://juejin.im/post/5d825725f265da03c34c335dhttps://cloud.tencent.com/developer/article/1004587https://cloud.tencent.com/developer/article/1589152https://cloud.tencent.com/developer/article/1549684https://blog.csdn.net/Shiloh_My/article/details/79996426https://blog.csdn.net/kwuwei/article/details/39495065
- 效果如下
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)