1.Vue项目的码笔部署
2.那里有网站代码下载
3.Nginx源码阅读(五):启动前的准备
Vue项目的部署
近期我完成了一个基于Vue的记账项目,下面我将分享我的码笔远程部署过程。
一、码笔本地预览
源代码编写完成后,码笔首先将其上传至GitHub,码笔例如:git@github.com:Xin-hai/haiqing-1.git。码笔英菲克hdmi源码输出这个仓库称为源代码仓库,码笔其中dist目录默认不会上传。码笔根据Vue CLI部署指南,码笔需要进行本地预览,码笔确保yarn build打包后的码笔dist目录正确无误。在终端执行官方推荐的码笔命令,启动HTTP服务器访问dist目录。码笔
由于我使用yarn进行包管理,码笔因此使用yarn命令进行安装。码笔在新的预览地址中,我比较了文件,发现打包后的预订易 源码css和js文件体积比yarn serve得到未打包的体积更小。检查完dist目录打包无误后,可以关闭预览。
二、GitHub Pages手动推送更新
新建一个远程仓库地址用于存放dist目录的相关代码,这个仓库仅用于网页展示,如git@github.com:Xin-hai/haiqing-1-website.git。此仓库最好与源代码仓库名称相似,例如在后面加上-website。
在vue.config.js中设置正确的publicPath。找到vue.config.js并添加如下代码,将'/my-project/'修改为新建的仓库地址名'/haiqing-1-website/'。
在项目目录上创建deploy.sh并按照官方写入相关代码。我使用的是yarn,进行了一点小的修改。主要修改的是git push -f git@github.com:Xin-hai/haiqing-1-website.git master:gh-pages这句代码,其中的haiqing-1-website是前面新建的存放dist的仓库,也是影城网站源码用于网页展示的仓库。
在终端运行sh deploy.sh即可自动部署。代码会上传到haiqing-1-website仓库的gh-pages分支上,此分支会自动开启GitHub的pages功能,稍等片刻就能看到网页链接。注意,源代码仓库不会自动更新,需要自己git push相关代码。
三、码云部署
为了优化访问速度,我使用了码云gitee。同样,在码云上新建好仓库后,复制ssh地址,将deploy.sh中的git push -f git@github.com:/.github.io.git master修改为码云的。
在gitee的服务选项中查看Gitee pages功能。
------------------------------------------..补充
在经历一个星期的实名认证之后,我的影子瞬移源码码云终于可以使用Gitee page功能了。在推送时,除了修改deploy.sh为如下,还需要将vue.config.js中的仓库地址改为码云中的远程仓库地址如下。
注意,gitee需要手动更新,每次git push后需要手动更新才能看到效果。
最后,是我最近做的海青记账的GitHub源代码仓库和Gitee源代码仓库,欢迎大家体验和提出建议。
那里有网站代码下载
在互联网世界中,源码之家是一个宝藏地,汇集了各式各样的免费源代码网站,满足开发者们对代码的渴求。
如果你对ASP语言情有独钟,不妨前往ASP源码网站,这里提供了丰富的ASP代码资源,从基础教程到实际应用,盈利app源码应有尽有。无论是新手上路,还是经验丰富的老手,都能在其中找到适合自己的代码片段。
对于PHP开发者来说,PHP源码网站则是必去之地。这里聚集了大量的PHP源代码,从入门到高级,涵盖了Web开发的各个层面。无论是简单的网页构建,还是复杂的系统开发,都能在这里找到所需的代码。
JSP源码网站则专注于JavaServer Pages技术,提供了大量的JSP源代码资源。对于使用JSP进行Web开发的开发者而言,这里无疑是一个宝藏库,能够帮助他们快速学习和实践JSP技术。
如果你对脚本语言感兴趣,CGI源码网站是不可错过的选择。这里汇集了大量的CGI程序,涵盖了各种用途,从简单的文本处理到复杂的网络应用,应有尽有。
.NET源码网站则主要面向使用.NET框架进行开发的开发者。这里提供了大量的.NET源代码资源,包括C#、VB.NET等语言的代码片段,能够帮助开发者快速上手.NET开发。
在源码之家,无论是哪种类型的源代码网站,都能帮助开发者们学习、实践和创新,提升自己的编程技能。这里不仅是一个代码资源的宝库,更是开发者们交流、分享和成长的平台。
Nginx源码阅读(五):启动前的准备
在 Nginx 启动前,一系列初始化流程和变量设定至关重要。这些准备工作确保 Nginx 正常运行,高效管理资源并优化性能。接下来,我们将分步骤详细介绍 Nginx 启动前的准备过程。1. ngx_os_init 获取系统级资源
ngx_os_init 负责初始化操作系统级资源,将关键参数赋值给全局变量。这些参数包括页面大小、缓存行大小、最大套接字数等。 系统级参数获取依赖于 sysconf 函数,它用于查询系统特定参数,如 CPU 核心数量、内存大小、进程打开的最大文件数等。 _SC_NPROCESSORS_CONF返回 CPU 核心数量,包括不可用核心。
_SC_NPROCESSORS_ONLN返回系统中可用的 CPU 核心数量。
_SC_PAGESIZE表示系统页面大小(字节单位)。
_SC_PHYS_PAGES表示系统物理内存页数。
_SC_OPEN_MAX表示进程可以打开的最大文件数。
_SC_GETPW_R_SIZE_MAX表示 getpwuid_r 函数使用的缓冲区大小限制。
另一个关键函数 ngx_cpuinfo 用于获取 CPU 的 L2 缓存行大小。理解 CPU 缓存级别有助于优化 Nginx 性能。L1 缓存位于 CPU 核心内,是最快的缓存层。
L2 缓存在 CPU 芯片上,但比 L1 缓存距离核心更远。
L3 缓存位于 CPU 外部,速度仅次于内存,但大小较大。
不同 CPU 的缓存大小差异显著,如图所示。L1 和 L2 缓存通常在 CPU 核之间不共享,而 L3 缓存为所有核心共享。 此外,getrlimit 和 setrlimit 函数用于查询和更改进程资源限制。rlimit 结构体参数用于指定资源限制,如最大句柄数,即最大可创建的套接字数量。2. ngx_crc_table_init 初始化 CRC 表
此函数初始化循环冗余校验(CRC)表,确保计算效率。通过将指向校验表格的指针ngx_crc_table_short 对齐至缓存行大小,提高性能。 CRC 是一种用于检测数据传输或保存错误的校验方法。生成的数字附加至数据后,接收端进行验证以确保数据未变。具体原理可参考网络资料。3. ngx_add_inherited_sockets 继承套接字
在平滑升级场景下,ngx_add_inherited_sockets 用于继承原有监听套接字。通过环境变量 NGINX 获取套接字信息,将其加入 init_cycle 的 listening 数组。完成继承后,设置全局变量 ngx_inherited 为 1。 此函数仅在平滑升级过程中使用,通常情况下无需执行。因此,我们不对该函数进行过多讨论。