文章目录

  • 一.前置条件
  • 二.服务器下载nginx
  • 三.防火墙设置
  • 四.将静态网页传送到服务器
  • 五.申请ssl证书
  • 六.配置nginx的nginx.conf文件
  • 七.后续发布文章

文章内容可能不全面和详细,还需要各位看官多动手百度

博客原文地址:Hugo博客部署到腾讯云轻量级服务器

一.前置条件

1. 购买服务器和服务器

我买的服务器是腾讯云的轻量级服务器,双十一的时候打折买的,3年144元,还有一个域名3年89元,如果是学生或者经济紧张可以考虑节日的时候买。

性能:1核2GB,每月500GB流量,固定50GB的硬盘空间,选择的镜像为Centos操作系统,如果博客访问量不是特别大,这种性能对于搭建博客还是比较合适。

2. 搭建hugo博客

参考我的这篇文章:Hugo博客搭建,或者是百度。

3. 域名备案

如果hugo博客部署到github,那么可以不需要备案,因为github属于国外的服务器,但是如果自己用大陆服务器搭建就需要备案,否则用域名打开网页后会提示网站需要备案,备案请点击这里:腾讯云域名备案。

域名备案要个把月时间,所以请先备案好域名,不然只能用ip地址访问博客了。

二.服务器下载nginx

进入腾讯云控制台登录服务器,先确保Centos有sudo权限

sudo -l

确保80端口(http)和443端口(https)没有被占用,如果没有显示任何结果则说明没有被占用

sudo netstat -tulpn | grep :80
sudo netstat -tulpn | grep :443

安装nginx

sudo yum install -y nginx

设置开机启动nginx

sudo systemctl enable nginx

启动nginx

sudo systemctl start nginx

查看是否启动nginx

sudo systemctl status nginx

在浏览器搜索框输入您的服务器公网ip地址,如果会出现nginx的页面,说明可以导航到您的服务器,即nginx安装成功

三.防火墙设置

为了使外部用户可以访问web服务器,需要开放防火墙,主要是80端口和443端口,可以在服务器的控制台手动设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qH8TStrd-1639634355045)(3.png)]

也可以在服务器终端输入命令

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

四.将静态网页传送到服务器

hugo通过hugo命令可以生成一个public文件夹,这里面就是网页上展示的东西

现在要做的事情就是把public文件夹里面的内容传送到服务器上,不过要先在服务器里面建一个public文件夹,我选择的位置是建在 home 文件夹里面

上传文件,我采用的方法是rsync的方式,命令如下

注意:执行这条命令时要在终端把位置调到博客目录下,但是不要进public文件里,因为public后面的/表示public文件夹里面的内容

rsync -avuz --progress --delete public/ root@ip地址:/home/public/

执行这条命令后终端会提示要输入服务器的登录密码,如果之前没有设置密码需要在服务器的控制台设置好

上述命令-avuz表示的意思可以看这篇文章rsync的选项说明,--progress表示显示执行过程,--delete表示删除服务器上public里原先的文件,然后上传新的文件,这个命令可以根据自己的需要选择加上与否

输完命令后看看服务器的/home/public/里面有没有对于的文件就可以了

五.申请ssl证书

为了让网站更安全,首先申请一下https的ssl证书,腾讯云会送一个一年免费的,不过要先申请,然后下载这个证书。也可以通过Let’s encrypt网站申请免费的。不过我用的暂时是腾讯云的。

会得到如下文件

我们只需要Nginx文件夹里面的秘钥对文件,因为在nginx的配置文件里面配置https的时候需要用到,把这两个公秘钥文件上传到服务器。

我是传到了服务器的/etc/nginx目录里,因为我的nginx配置文件也在这个目录下,所以把公秘钥也放在这个目录下,方便调用。先在终端把目录定位到与Nginx文件夹同一层级的地方,命令如下

注意这里不能加上--delete,否则会把里面的文件都删掉,我就踩了这个坑,导致要重新安装nginx

rsync -avuz --progress Nginx/ root@ip地址:/etc/nginx/

于是在/etc/nginx下多了两个文件如下

六.配置nginx的nginx.conf文件

上面讲了我的nginx.conf在/etc/nginx目录下,所以把目录定位到这里,然后输入sudo vim nginx.conf/

下面是我的配置文件里面的内容,标出了要配置的几个地方,其他一般是文件之前默认生成的,若有不懂的地方请百度

# 要配置的第一个地方,这里的用户要改成root,不然可能会没有权限
user root;worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;include             /etc/nginx/mime.types;default_type        application/octet-stream;include /etc/nginx/conf.d/*.conf;# 配置httpserver {# 要配置的第二个地方,80访问端口listen       80 default_server; listen       [::]:80 default_server;# 要配置的第三个地方,域名server_name www.sulvblog.cn;rewrite ^(.*) https://$server_name$1 permanent; #自动从http跳转到https# 要配置的第四个地方,这里指向public文件夹root /home/public;include /etc/nginx/default.d/*.conf;# 要配置的第五个地方location / {root /home/public;index  index.html index.htm;}# 要配置的第六个地方error_page 404 /404.html;location = /40x.html {root   /home/public;}error_page 500 502 503 504 /50x.html;location = /50x.html {}}# 配置httpsserver {listen 443 ssl;# 要配置的第七个地方server_name www.sulvblog.cn;root /home/public;# 要配置的第八个地方ssl_certificate /etc/nginx/1_sulvblog.cn_bundle.crt;ssl_certificate_key /etc/nginx/2_sulvblog.cn.key;# 要配置的第九个地方,可以按照我的写法ssl_session_timeout 10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;# 要配置的第十个地方error_page 404 /404.html;location = /404.html {root /home/public;}include /etc/nginx/default.d/*.conf;}}

其中端口 80 用于配置 http 服务,端口 443 用于配置 https 服务,这样就完成了nginx 的配置

修改完成后重加载配置文件

sudo nginx -s reload

检查 nginx 服务的运行情况

sudo systemctl status nginx

重启 nginx 服务

sudo systemctl restart nginx

通过域名访问网站,如果出现博客首页,说明配置成功了,如果域名还没有备案成功,用ip地址访问也可以跳转到博客首页

七.后续发布文章

文章在本地写好后,生成public文件,用rsync上传到服务器就可以了。

到这里就结束了,我也是收集了不少资料,踩了不少坑,毕竟也是第一次弄,有什么问题请留言,一起探讨

Hugo博客部署到腾讯云轻量级服务器相关推荐

  1. Hexo博客部署到腾讯云服务器

    因为使用github仓库存放Hexo博客速度太慢,所以自己买了腾讯云的服务器,现在开始把博客部署到腾讯云,由于域名还没有审核通过,暂时使用公网ip访问 更新:买的域名备案成功了,欢迎大家访问 我的He ...

  2. Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  3. 腾讯云轻量级服务器Ubuntu系统搭建可视化界面

    前言: 以云服务器的方式搭建Linux workstation对比在电脑本地安装虚拟机的优势在于,不需要占用本地电脑资源空间,网络环境等相对稳定,可以用手机等轻量移动设备连接管理等.本文主要介绍使用腾 ...

  4. 腾讯云轻量级服务器入门教程

    1.购买腾讯云轻量级服务器 注册账号.实名认证之后进行购买 12.12限时秒杀_云服务器秒杀_云数据库秒杀_腾讯云 (tencent.com) 2.购买之后,点击右上角信息(由于是轻量级服务器,和其它 ...

  5. Hexo博客迁移到腾讯云

    一开始博客在github pages上,速度比较慢.后来在网上发现许多人说托管到Netify很快,还自带CDN加速.但我迁移过去,发现国内的网根本就登不上,又检测了一下在大陆访问博客的速度,惨不忍睹. ...

  6. 搭建hugo博客部署到Github

    文章目录 前提 安装 启动 部署 增加文章 修改配置 解决图片问题 前提 一定要配置好git,具体教程见 windows下搭建hexo博客部署到github 推荐在Microsoft Store安装W ...

  7. LAMP搭建博客网站(腾讯云UbuntuCVM、MySQL数据库、域名注册)(WordPress)

    LAMP搭建网站(腾讯云UbuntuCVM)(腾讯云MySQL数据库) 环境配置 Linux操作系统: Ubuntu Server 16.04.1 LST 64位(腾讯云CVM) Apache网站服务 ...

  8. Java部署本地项目到远端服务器(腾讯云轻量级服务器)

    腾讯云轻量级服务器官方文档:https://cloud.tencent.com/document/product/1207 1.购买轻量级服务器云资源: PS:学习过程中建议购买低配够用就行,学生有优 ...

  9. 如何建立一个网站 如何建立一个个人博客 使用腾讯云搭建平台 保姆级教程 使用腾讯云轻量级服务器 腾讯云申请域名 域名备案

    我们简单来介绍一下如何创建一个自己的网站博客,这里主要介绍一下大致流程以及注意事项. 1.在腾讯云注册自己的账号并进行实名认证 首先需要注册一个自己的账号并进行实名认证 2.在云产品中搜索轻量级服务器 ...

最新文章

  1. php写账户冻结_线上开户指南(首次入金2万,账户总净资产不得低于1万,交易佣金万三,最低25,合单,没平台费)入金后才会有账户号...
  2. Linux Swap空间利用率过高
  3. java与java ee_RxJava + Java8 + Java EE 7 + Arquillian =幸福
  4. cnetos7安装zabbix3.0.3安装手册
  5. 【手机】Windows Mobile手机软件安装卸载方法
  6. UVA571 - Jugs(数论)
  7. Ubuntu-安装MySQL5.7并配置用户名密码
  8. Matlab7.0安装之后Runtime Error警告解决办法
  9. 程序员如何帮助公司快速上市、获得分红?
  10. har文件分析http_如何使用HAR文件分析一段时间内的性能
  11. jdk 中文开发文档
  12. python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,部署在阿里云服务器,再也不用担心背单词啦!!
  13. 史上最全的工控类软件链接 快收藏备用吧
  14. 如何将png图像转换成jpg格式呢?
  15. 自学单片机怎么买开发板?
  16. c语言看门狗指令pic,PIC单片机之看门狗_看门狗定时器工作原理
  17. java外卖项目介绍_JavaWeb网上订餐系统项目
  18. 上海电信路由器有ipv6,电脑无法获取ipv6问题记录
  19. matlab自带的mri数据集,探查三维 MRI 数据集的切片
  20. 「开发者说」多系统集成开发-企业自有系统快速上钉钉

热门文章

  1. linux ps 和kill 指 令
  2. STM32最小系统电路原理图
  3. 还是要习惯在linux环境下作Java开发
  4. 基于DOTNET的活动记录框架
  5. Webpack2/3配置ExtractTextPlugin和Autoprefixer
  6. 使用nano时怎么保存退出的问题
  7. 以太坊物流场景解决方案探索
  8. scrapy框架03
  9. 上海交大华为:“非完全监督下基于深度学习的图像分割方法”最新综述
  10. 使用springboot每日推送早安问候语到用户微信