这个得看你的学习成本
linux操作系统学习成本高但是稳定价格较低
windows用起来方便快捷没有linux稳定
镜像的话我用的是centos7.0php5.6+Apache2.4+mysql
-----------------------------------------------------------------
这个是我的网站,欢迎交换友链吖
本回答由网友推荐
有的企业没有重视外贸网站的价值,就随便选择了外贸建站公司,建立一个便宜的模板站。殊不知模板站还是存在很多弊端的,无论是站内优化还是后期的海外整合营销推广。第一、模板建站容易被搜索引擎判断为站群因为模板建站系统归类都比较简单,比如学校网站、热泵行业网站等等,每个分类当中都只有那么几套模板,然后,同行业的客户都采用大量相似的模板,建大量相似的网站,这样的情况很容易被搜索引擎判断为站群,站群又恰恰是SEO的大忌。第二、模板建站容易被搜索引擎连同同类网站被惩罚模板建站的规划不同于其他的服务器,他们都是在同一目录下面,具有很大的连带性,如果建站系统当中出现seo作弊现象,很容易导致你的网站也连带被惩罚。第三、模板建站无法很好的进行内部优化,在seo存在较大劣势模板建站是自动生成的网站,没有更好的编辑权限,不能合理的规划和更改网站内容和结构,在当今高竞争度的网络环境当中,模板建站存在较大的seo劣势,在同等的其他seo技术情况下,模板建站具有绝对的劣势。第四、模板建站存在大量相似性毕竟在一个建站系统当中,供我们选择的模板总是有限的,而且里面的大体结构都有较大的相似性,如果是比较流行的模板建站系统,可能一套模板存在的相似性网站就是成千上万,大家都知道,任何一个搜索引擎都是反对镜像网站的,也就是反对相似度太高的网站,这样的网站很难得到搜索引擎的重视。
本回答由提问者推荐
转自:
由于格式问题,部分链接、表格可能会失效,若失效请访问原文
——可以用于间接访问一些打不开的网站,例如Dec 13, 2021

阅读时长: 4 分钟
使用说明本项目仍然是使用Cloudflare这位慷慨无私的云服务提供商的免费服务workers。
按照本教程进行配置,你可以自己搭建一个Github的镜像站点,以解决某些情况下无法访问的问题。
注意:请遵守当地法律法规,尊重知识产权,维护清朗的网络环境,人人有责
关于cloudflare(如已注册可以跳过)简介官网:注意:Cloudflare是有官方中文的,在界面的右上角可以选择语言。
Cloudflare是一家国外的良心CDN加速服务提供商,最近他家的服务也是在不断扩展,并且难能可贵的是他家服务全部免费,并且免费限额非常之高。比如CDN就是纯免费并且没有流量限制的。而且用它的DNS也不容出现备案问题。

我之前在freenom注册了几个免费域名,一开始是托管在dnspod,现在全部转移到cloudflare上面了。这里就简单讲讲怎么用上他的免费域名服务。~~至于worker这类更加复杂(灵活)的服务就靠大家自己探索了。~~顺便把worker和page也说一下。
从官网注册之后,会跳转到转到,接下来的步骤都是在控制台进行的。
开启worker可以将worker理解为cloudflare的一款serverless平台,这个平台的一大优点就是自带CDN。按照官方的说法:
构建无服务器应用程序并在全球范围内即时部署,从而获得卓越的性能、可靠性和规模性。
在控制面板主页左侧可以找到workers。
如图选择
如图所示,中间可以创建服务,右侧显示每天的额度,如果只是搭建个人服务这些额度绰绰有余了。下方会显示所有已经搭建的服务。
额度很高
创建服务的界面,其实我们只要稍微配置一下这个服务名称,因为会涉及到之后访问的链接的问题:
注意服务名称
这样我们的服务就搭建好了。但是如何进行代码编辑呢?等待部署完成,转到控制界面,可以找到右下角有一个快速编辑的按钮。
个人觉得这个设计十分反人类
在这里你就可以提交对于代码的修改了。关于Worker的代码配置,我看了一下文档,感觉有点复杂,还是基于javascript。推荐使用现成的代码实例。左边修改代码,下方部署,右侧可以选择预览窗口,以及打开链接。
一般我们就打开这个窗口,把代码复制进去,保存部署,然后直接访问链接就好了。
编辑界面
代码原来是设置为Google的,我这里改成Github了。全部复制贴到worker里面即可。
// 你要镜像的网站.const upstream = 'www.github.com'// 镜像网站的目录,比如你想镜像某个网站的二级目录则填写二级目录的目录名,镜像 google 用不到,默认即可.const upstream_path = '/'// 镜像站是否有手机访问专用网址,没有则填一样的.const upstream_mobile = 'www.github.com'// 屏蔽国家和地区.const blocked_region = ['KP', 'SY', 'PK', 'CU']// 屏蔽 IP 地址.const blocked_ip_address = ['0.0.0.0', '127.0.0.1']// 镜像站是否开启 HTTPS.const https = true// 文本替换.const replace_dict = {'$upstream': '$custom_domain','//github.com': ''}// 以下保持默认,不要动addEventListener('fetch', event => {event.respondWith(fetchAndApply(event.request));})async function fetchAndApply(request) {const region = request.headers.get('cf-ipcountry').toUpperCase();const ip_address = request.headers.get('cf-connecting-ip');const user_agent = request.headers.get('user-agent');let response = null;let url = new URL(request.url);let url_hostname = url.hostname;if (https == true) {url.protocol = 'https:';} else {url.protocol = 'http:';}if (await device_status(user_agent)) {var upstream_domain = upstream;} else {var upstream_domain = upstream_mobile;}url.host = upstream_domain;if (url.pathname == '/') {url.pathname = upstream_path;} else {url.pathname = upstream_path + url.pathname;}if (blocked_region.includes(region)) {response = new Response('Access denied: WorkersProxy is not available in your region yet.', {status: 403});} else if (blocked_ip_address.includes(ip_address)) {response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', {status: 403});} else {let method = request.method;let request_headers = request.headers;let new_request_headers = new Headers(request_headers);new_request_headers.set('Host', url.hostname);new_request_headers.set('Referer', url.hostname);let original_response = await fetch(url.href, {method: method,headers: new_request_headers})let original_response_clone = original_response.clone();let original_text = null;let response_headers = original_response.headers;let new_response_headers = new Headers(response_headers);let status = original_response.status;new_response_headers.set('access-control-allow-origin', '*');new_response_headers.set('access-control-allow-credentials', true);new_response_headers.delete('content-security-policy');new_response_headers.delete('content-security-policy-report-only');new_response_headers.delete('clear-site-data');const content_type = new_response_headers.get('content-type');if (content_type.includes('text/html') && content_type.includes('UTF-8')) {original_text = await replace_response_text(original_response_clone, upstream_domain, url_hostname);} else {original_text = original_response_clone.body}response = new Response(original_text, {status,headers: new_response_headers})}return response;}async function replace_response_text(response, upstream_domain, host_name) {let text = await response.text()var i, j;for (i in replace_dict) {j = replace_dict[i]if (i == '$upstream') {i = upstream_domain} else if (i == '$custom_domain') {i = host_name}if (j == '$upstream') {j = upstream_domain} else if (j == '$custom_domain') {j = host_name}let re = new RegExp(i, 'g')text = text.replace(re, j);}return text;}async function device_status(user_agent_info) {var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];var flag = true;for (var v = 0; v < agents.length; v++) {if (user_agent_info.indexOf(agents[v]) > 0) {flag = false;break;}}return flag;}效果
现在已经无法打开Google了,显示错误(被撸爆也是很正常的吧)。
应该是Cloudflare的IP被屏蔽了
但是Github还是可以使用的:
可以访问
DEMO:GitHub: Where the world builds software · GitHub (kermshare.workers.dev)
可以下载,下载链接也被替换为了workers的地址,速度还不错。
速度还行
附录参考文献使用 Cloudflare Workers? 制作镜像站,可访问谷歌-何先生 (hexsen.com)Introduction | Booster Labsxiaoyang-sde/rocket-booster: Lightweight and scalable reverse proxy and load balancing library built for Cloudflare Workers (github.com)说明:本项目最初的源码应该是来自2,3两处
但是现在已经更新到新版了。
版权信息本文原载于kermsite.com,复制请保留原文出处。
云服务器镜像是一种用于业务连续性,灾难恢复和备份的技术,镜像内容可以是系统、光盘、软件、网站甚至服务器。云镜像即在云端创建的服务器数据副本,主要用于创建容错和冗余服务器计算基础架构。
以往,用户开启云服务器后,需自行配置环境、安装软件,繁琐且耗时。现在通过镜像开通云服务器,即可获得与实例一致的系统环境或软件,从而避免复杂的云端配置问题,实现云服务器ESC即开即用。除备份和灾难恢复外,云镜像还可用于负载平衡,方法是提供相同的数据,以便快速下载到远程连接的用户。
哪些场景可以使用云服务器镜像:
1、部署运行环境。开通时有公共镜像,3-5分钟即可安装好基础操作系统、初始化组件、及数据库、常用建站管理工具等,完成基础环境部署。
2、批量部署服务器。若有多台服务器需要相同的运行环境,首台部署完成后,其他服务器可直接安装其创建的镜像,快速完成部署。
3、用于保留备份。除基础运行环境外,大部分客户还需要使用某些特定的应用程度、软件等。可将已集成好的服务器创建为镜像,作为运行环境备份。
4、便于数据迁移。可将政策运行的服务器创建镜像,有业务扩展需求时直接安装使用。还可通过镜像复制功能,实现跨机房、跨集群迁移。
5、容灾恢复。使用镜像可以保证数据冗余,在数据源发送故障时,镜像可对其完整复原,保证业务的连续。
6、共享赚取收益。可将自建云镜像设置为共享,设置价格后分享至云镜像市场,即可赚取收益。

整理:Nistone乐石科技 | 华为云战略级经销商