VuePress的官方文档里没有提供任何关于自定义部署的说明,而是推荐了若干自动化平台,里面还没有一个开源的。可能是默认大家都是花钱解决问题吧。
安装nginx
sudo apt install nginx
nginx -v
打包vue项目
npm run build
Ubuntu20.04的官方apt镜像源中已经不提供MySQL5.X了,目前至少都是8.0起步。更离谱的是腾讯云默认的镜像源中也没有5.7版本。这不禁让我面露难色:难道全世界除了我都已经过渡到新版本的MySQL了吗?
包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。
screen是一个模拟多屏的工具,可以在一个终端实现控制多个shell的功能。screen代表一个屏幕,同一个screen下可以再创建多个shell并自由切换。相比docker等容器繁琐的部署和管理,使用起来的比较直观敏捷。
第一次使用su(root密码)
安装后第一次使用su需要先设置root用户的密码。
sudo passwd root
根据提示输入两次密码即可。第二次开始只要:
su
nginx配置location时的问题
之前都是在请求为根目录的情况下配置nginx,即“location / ”下,使用root配置文件路径。
location / {
root /mnt/c;
}
这种情况下,请求localhost:80/返回的确实是/mnt/c。如果改成
环境
WSL2 Ubuntu 20.04 LTS
问题
通过./objs/srs -c conf/srs.conf启动SRS服务。控制台没有报异常,正常输出了以下几行:
bluecitizen@DESKTOP-A2E34TM:~/srs/trunk$ ./objs/srs -c conf/srs.conf
[2021-04-01 12:30:17.996][Trace][7308][0] XCORE-SRS/3.0.158(OuXuli)
[2021-04-01 12:30:17.997][Trace][7308][0] config parse complete
[2021-04-01 12:30:17.998][Trace][7308][0] you can check log by: tail -f ./objs/srs.log (@see https://github.com/ossrs/srs/wiki/v1_CN_SrsLog)
[2021-04-01 12:30:17.998][Trace][7308][0] please check SRS by: ./etc/init.d/srs status
官方的Router文档中有相关解决方案:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90
原因:vue的history模式下,切换路由本质是通过js操作window.history方法来改变浏览器地址栏里的路径,并没有发起http请求。但是当我直接在浏览器里输入这个地址的时候,其实是对服务器发起了http请求,而这个目标(即http请求的资源)在服务器上根本不存在,所以nginx会返回404。同理,500就是路径本身有错误。
可参考七牛云官方文档《如何配置域名的 CNAME:https://developer.qiniu.com/fusion/kb/1322/how-to-configure-cname-domain-name
准备条件
- 一个已经完成备案状态正常的域名,例如bravo.xyz
- 七牛云对象存储空间,例如blog-img
(域名和存储空间都是随便举了个例子,后面均以此为例)
操作步骤
创建加速域名
首先,进入七牛云控制台的域名管理(CDN—>域名管理)。点击创建域名。补全空缺的项目。域名类型根据自己的需求,个人使用的通常都是普通域名,维持默认选项。加速域名为是自定义的二级域名。照抄一个七牛云官方提供的例子,简单易懂: