| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> ??周末爆肝两天??,万字长文,手把手教你配置CSDN主页的独特域名(保姆级教程,建议收藏) -> 正文阅读 |
|
[系统运维]??周末爆肝两天??,万字长文,手把手教你配置CSDN主页的独特域名(保姆级教程,建议收藏) |
?? 感受下效果图??? 目录 5.?能不能只配置Apache2或者nginx就完成相应的功能?
相信经常在CSDN上更新博文的博主,一定有这么痛点:“CSDN分配的给我的主页地址太low了,我的博文这么牛皮,难道就不值得有个专属的域名访问吗?” 比如像,yyds.recan-li.cn?(Recan YYDS)就能够访问到我的CSDN主页,多么87V5!? 你要这么说,CSDN官方还真提供了类似这样的服务,不知道你留意过没有? 你试下把鼠标移到个人头像的图标上,有个【内容管理】,进去之后找到有一项【自定义域名】配置。不过不得不说,这个配置真的很鸡肋,名字不能太短,而且你还是得和CSDN的名字绑定,最可恶的是,你选好了名字之后,一点【就是它了】,居然自动给你跳转到购买会员页面,言下之意,没钱你玩个jj,所以你懂的! OK,扯了这么多,有没有什么办法,绕过CSDN,搞一个高大上的域名地址呢?方法当然有,且听下文分解,保姆级教程,手把手教你配置,你也可以拥有独一无二且牛逼哄哄的自定义CSDN域名。
要达到类似开头说的功能,访问 yyds.recan-li.cn?就能访问到自己的CSDN主页,你得具备以下几个条件: l?有点Linux服务器命令行的基础,能够操作基本的命令行配置(编辑、修改、删除); l?你得拥有一台具备公网IP地址的Linux(云)服务器,推荐使用Ubuntu版本; l?你得拥有一个属于你自己的DNS域名; l?你得懂一些网络通讯的基础知识,至少要知道IP、域名、端口、监听、服务器、客户端这些基本概念。
购买云服务很简单,如果你仅仅是为了建站玩一玩自己的博客,配置选最低一点就好了,基本都够用。国内网络环境下,首推阿里云、腾讯云、华为云这些大厂的云服务器。 一般这种配置低的服务器,价格都是比较便宜的,碰到打折促销或者是新用户的下单,往往更加便宜,大概也就是100块一年吧。 购买这些云服务器基本都是傻瓜式0配置的,下单购买之后,即可在线自动配置,随后在你的购买账号下(比如我购买的是阿里云服务器,就在我的阿里云账户下),有个控制台,点进去就可以看到你购买的云服务器了,有登录密码、公网IP地址之类的重要信息。 一般来说,选购的云服务器都是没有运行界面的,只有命令行,可以通过SSH远程登录。 这里推荐Ubuntu的Linux发行版本,对初始用户还是比较友好的。 具体如何通过SSH登录服务器,这里就不叙述了,很容易就学会的。 再次强调下,这一步骤,主要为了获得一个具备公网IP访问的公有云服务器。
购买DNS域名,与购买云服务器类似,也可以选主流的阿里云、腾讯云、华为云等服务器上,当然如果你首次购买,建议你同样选择云服务器那个服务商,这样你就只需要登入一个账户就可以看到你的云服务器和DNS域名。 当然你可以单独选另一家服务商,比如我的就选了华为云的DNS域名。 购买,配置,登录都类似,只不过在勾选域名的时候,需要你指定你的域名后缀,不同类型的后缀价格不一样,而且有可能你想用的域名后缀已经被人选了,这也是为何会有【域名投资】这种玩法的出现,就是疯狂去抢注域名,等别人要用的时候,只能向你购买转让,毕竟域名是唯一的。 我的域名服务(华为云)控制台界面,每个服务商提供的界面应该都是类似的。 再次强调下,这一步骤,主要为了获得一个具备你个人标识的独一无二的域名地址。 推荐个华为云域名服务,还真的很便宜: 域名建站专场_域名购买_域名优惠活动_域名注册_域名申请_域名特惠_网站建设-华为云
Apache2服务是什么,我先不做具体叙述,后面会详讲,这一步我主要先把Aapche2服务给搭起来。 在主流的Linux发行版里面,使用命令行就可以在线安装这个服务。 比如我使用的是Ubuntu Linux,它的安装命令就是: sudo apt-get install apache2 注意如果你是普通用户的话,一定要使用sudo权限才能安装成功。 输完密码之后,根据提示就可以很顺利地把Apache2服务安装好。 下面开始配置Apache2服务,它的配置文件位于/etc/apache2/目录下: 配置过程中,我们有3个地方需要配置:ports.conf、sites-enabled、sites-available; 先说ports.conf的配置: 用vim打开它,默认它是监听80端口的,我们先把它注释掉,换成监听8101端口,这个端口就是专门为CSDN主页跳转使用的,因为80端口后面的nginx服务需要使用。 修改好的内容如下所示:
再看site-enabled目录的配置,先进到这个目录,里面只有2个文件: 由于我们先不考虑ssl访问,所以ssl那个配置文件先不用动。 我们在这个目录下新建一个配置文件叫001-csdn.conf,里面的内容如下:
其中虚拟主机的端口号8101一定得是ports.conf里面配置的,要对得上,然后这个虚拟主机的站点文件是位于/var/www/csdn/html目录下。 下面我们就去这个站点目录编写我们的站点文件,也就是我们常说的html文件。 首先/var/www/csdn/html目录开始是不存在的,你需要使用以下命令重新建立: mkdir -p /var/www/csdn/html 然后进到这个目录,创建一个叫index.html的文件,里面的内容如下:
蓝色部分替换成你的CSDN主页即可。 为什么文件名叫index.html,是因为一般的网络站点都会自动找站点目录下有没有index.html。 到这一步,Aapche2服务基本就配置好,我们需要使用以下命令重启下服务,使得刚刚的配置生效。 sudo /etc/init.d/apache2 restart?(注意使用sudo权限) 提示成功之后,服务就跑起来了。 为了保险起见,我们可以确认下我们监听的8101端口是否处于监听状态。 使用如下命令查看: netstat -an | grep 8101 当你看类似如下的LISTEN字样时,表示它处于正常的监听状态,也就证明我们的Aapche2服务已经跑起来了。 这时,如果你是本地服务器配置的,比如通过虚拟机工具搭建的服务器,有浏览器的话,输入http://127.0.0.1:8101就可以正常跳转到你的CSDN主页了。 但是我们购买的是云服务器,只有命令行,没有浏览器怎么办?你可以使用命令访问下,看下Apache2服务返回是否正常: 如果你能看到这样的返回,就是把你上面的index.html的内容返回给你,证明运行是完全OK的。 但,我们不是买了具备公网IP的服务器吗?我们能不能通过公网IP访问而不是127.0.0.1这种回环IP访问呢?我们试试看,假如我的公网IP是8.23.56.89,那么访问地址就是: curl http://8.23.56.89:8101??(记得更换成你自己的IP) 你会发现访问超时,无法访问,类似这样的错误。 或者使用windows的浏览器直接访问:http://8.23.56.89:8101??(记得更换成你自己的IP) 同样也是超时,无法访问。 为什么啊? 我的8101端口明明处于监听状态啊? 原因就是公网IP的端口映射问题。 你可以通过公网IP的22端口SSH登录你的服务器,那是因为云服务器提供商默认帮你把22端口映射好了。至于其他的一些端口,默认都是没有对外映射的,也就是说如果你想通过公网IP+端口的形式访问你的服务器,你必须保证这个端口有被映射出来。 如何配置端口映射,请看下一章节。
首先登录你的云服务器账户,你在哪个平台购买的就登录哪个。 下面以我的阿里云服务器为例来讲解,其他云服务器也类似,可能就是配置的菜单有所变化而已。 找到【云服务器ECS】,点进去: 找到【安全组】那一栏,点进去: 找到【配置规则】,点进去: 找到入【方向】-》【手动添加】,点进去: 之后,下面会多出一行端口配置,参考如下来填写: 因为后面也需要用到80端口,所以干脆在这里一同把80端口也给配置了,如下: 如上配置成功之后,我们再试下使用公网IP加端口的方式访问: curl http://8.23.56.89:8101??(记得更换成你自己的IP) 可以访问成功了,证明8101的端口映射已经OK了。 或者使用windows的浏览器直接访问:http://8.23.56.89:8101??(记得更换成你自己的IP) 这时候应该可以正常跳到你的CSDN主页了。 OK,离最终的目标已经很接近了。
nginx服务是什么,这里先不做叙述,下文会详讲。 配置nginx服务,与配置Apache2服务类似,也需要先安装nginx服务。 在ubuntu下使用以下命令安装,注意使用sudo权限: sudo apt-get install nginx 注意如果你是普通用户的话,一定要使用sudo权限才能安装成功。 输完密码之后,根据提示就可以很顺利地把nginx服务安装好。 下面开始配置nginx服务,它的配置文件位于/etc/nginx/目录下: 在这个目录下,有个nginx.conf配置文件,我们用vim打开它,发现它有一行: include /etc/nginx/conf.d/*.conf; 所以它的配置文件,主要位于/etc/nginx/conf.d/目录下。 默认情况下,它里面是没有配置文件的,我们在这个目录下建立一个csdn的配置文件,取名叫001-csdn.conf(主要时后缀一定得是.conf),里面的配置内容如下:
尤其要注意蓝色部分, server_name那里就是配置你的需要由什么域名访问进来,这里可以写多个域名,每个域名以空格隔开;像我这里就写了三个,也就是说,正常配置好了之后,这三个域名都可以达到跳转的目的。这里的域名记得替换成你想使用的跳转域名,也就是你自己域名下的yyds.xxx.com。 下面那个proxy_pass就是设置跳转的代理服务,还记得我们上面配置Apache2的CSDN站点,使用的是8101端口,而localhost其实就是127.0.0.1;所以http://localhost:8101就是跳转到访问Apache2配置的CSDN站点去了。 这里还有端口的配置,nginx默认就是80端口,而且在上一步中我们已经把80端口的映射打开了,所以不用管它了。 配置好了之后,重启下nginx服务,使用以下命令; sudo /etc/init.d/nginx restart?(注意使用sudo权限) 提示成功表示服务重启成功了。 为了保险起见,我们还是查一下80端口是否正常处于监听状态,使用命令查看: netstat -an | grep 80 当你看到图中类似的字样,表示监听正常。 既然nginx已经启动成功了,那我们试一下yyds.recan-li.cn跳转是否正常? 嗯哼?怎么回事?无法访问此界面? 仔细看下,原来是域名地址的解析还没配置,解析失败了! 不然,我怎么会说一定要有自己的域名呢? 这可是非常关键的一步,且看下文步骤。
配置DNS域名,需要登录你购买的域名解析的账户,是阿里云账户就登录阿里云。 下面我以华为云的为例,讲解下我的域名如何配置,其他云服务器提供商的配置方法都类似。 首先登录账户,进入到控制台界面,找到你的【域名注册】服务: 找到【解析】这一按钮,点进去: 找到【管理解析】,点进去: 找到【添加记录集】,点进去: 填写解析记录,参考如下: 这里我们可以取自己想取的名字,比如niupi等等,注意域名的后半部分都是确定的,那是由你购买的域名决定的。 选解析类型,选A类解析即可。 值里面填你的公网IP地址,保存就可以了。 配置好了之后,我们可以试下这个域名是否能正常解析到你配置的IP,使用cmd的ping命令:ping yyds.recan-li.cn 当你能看到你的公网IP的时候,证明解析成功了。 这里需要注意的是,配置好域名,它是不会立即就生效的,需要等点时间,一般5分钟之后,解析就可以。
把域名解析这最后一步搞定了,基本就已经全部配置好了。 我们来体验下: OK,大家可以看到,成功达到跳转的目的,一起秀起来吧!
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是目前世界上使用最广泛的一种web server,它以跨平台,高效和稳定而闻名,可以运行在几乎所有广泛使用的计算机平台上。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 Apache2是apache的2.x版本。 Apache是用C语言开发的基于模块化设计的web应用,总体上看起来代码的可读性高于php代码,它的核心代码并不多,大多数的功能都被分割到各种模块中,各个模块在系统启动时按需载入。 支持SSL技术,支持多个虚拟主机。Apache是以进程的Prefork模式(还有基于线程的Worker模式)为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。 简单一点就是:它是一个HTTP服务器(WEB服务器),客户端(比如浏览器)可以通过HTTP协议访问它;并且它还支持虚拟主机技术,本教程中的配置就是利用这个虚拟主机技术进行配置。
nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。 简单来说,它就是:一个轻量级的HTTP服务器,但可以支持反向代理功能;本教程的配置就是利用了nginx的反向代理功能。可以参考后面的参考资料,有细讲nginx的反向代理是怎么回事。
我不是专业的,找了一篇讲得比较清晰的文章,大家可以参考下: Nginx 和 Apache 区别最全详解? - 云+社区 - 腾讯云
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。 尽管IP地址能够唯一地标记网络上的计算机,但IP地址是一长串数字,不直观,而且用户记忆十分不方便,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址。IP地址和域名是一一对应的,这份域名地址的信息存放在一个叫域名服务器(DNS,Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器。 本教程就是通过购买一个域名服务,然后自定义一个子域名来达到访问跳转主页的需求。
有了上面的预备知识,到这我来讲下实现自定义域名来跳转到CSDN主页的原理就比较容易了。 注意,等你真正理解并学会了这里的配置方法,你可以实现任意域名(当然域名后缀得是你的)跳转到你的任意社交主页,比如我的知乎主页 (zhihu.recan-li.cn),我的github主页(github.recan-li.cn),我的gitee主页(gitee.recan-li.cn)。 整一个跳转的原理如下图所示: 实现跳转主要有以下几步: 1)?浏览器输入自定义的域名:yyds.xxx.com 2)?经过域名服务器,解析成公网IP,这个IP就是云服务器的公网IP; 3)?取得IP后,加上默认的HTTP端口80,再在HTTP报文头添加hostname字段,字段填写自定义的域名,对nginx服务发起HTTP连接; 4)?nginx收到请求后,识别HTTP报文头的Host字段,然后于nginx的虚拟主机配置文件中的server_name一个个比对,当识别到对应的server之后,执行代理服务访问,访问的地址由proxy_pass指定;这一步骤就是nginx的反向代理的关键步骤; 5)?接着nginx的代理就访问到Apache2架起的HTTP服务,把其对应的index.html通过代理的形式返回,一直返回到浏览器中; 6)?浏览器收到index.html的内容后,开始解析;其中有一个html的脚本: window.location.href="https://blog.csdn.net/szullc"; 浏览器就会执行“地址重定向”,相当于重新把这个href的url放到浏览器的地址栏进行 跳转,这一步是html语法定义的,浏览器会自动执行的,无需人工干预; 7)?浏览器取得需要跳转的url后,也同样需要发起域名解析,经过域名服务器取得对应服务器的IP地址,然后根据是HTTP还是HTTPS,分别添加80或443端口,访问真实的服务器,也就是对应我们要跳转到的主页; 8)?待浏览器重新跳转完成之后,就会看到对应的主页就显示出来了,也就是上面展示的那种效果。
为了进一步验证上面的原理,我们来尝试抓一下网络通讯报文,通过报文一看,便一目了然,任何跳转都逃不过网络报文的法眼。 这里需要用到的工具是wireshark抓包工具,关于wireshark工具,我这里可以简单介绍一下: Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息…… Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出流通的封包资讯。 Wireshark本身也不会送出封包至网络上。 具体如何操作wireshak来抓取网络,大家可以参考这里的教程: https://jingyan.baidu.com/article/8cdccae9385fe9315413cda6.html 这里我直接把我这边抓到的通讯报文放这里, 感兴趣的可以拿来分析分析。 通过分析报文,发现真正的访问过程比我描述的步骤还要多一些,但大体还是按照我说的这个流程来的。 以下做一下简要的步骤分析: 1)?解析yyds.xxx.com域名,获取IP; 2)?发起HTTP请求,注意HTTP头部填充了Host字段,往对应IP的80端口(HTTP默认端口)发起GET请求; 3)?nginx识别到请求,根据Host的值进行反向代理,返回对应的index.html;由于这一步是在服务器完成的,所以抓包里面无法体现; 4)?浏览器取得index.html,进行二次访问;首先也得解析域名,拿到服务器的IP; 5)?取得IP后,根据是访问的URL是HTTP还是HTTPS,加上80或443端口,发起连接访问,最后成功返回主页的内容。
如果你只有自己的域名,但没有自己的公网IP云服务器,那么你需要找一个别人有云服务器的朋友(比如我),帮你配置一个端口,然后把端口对应的Apache2服务站点的index.html跳转到你的CSDN主页,同时在nginx中将server_name配置成你的域名地址,这样就可以了。 说白了,就是重新走了一遍配置过程,这些配置对于云服务器是没有增加多大压力的,只不过增加了几个端口的跳转而已。 如果有此需求的朋友,可以关注我的主页,然后私信我,我帮你搞定。
对不起,如果没有域名的话,就只有通过IP加端口的方式来访问了;虽然通过域名最终也都是IP和端口进行通讯,但是使用IP和端口的方式,有个致命的弱点就是需要记住IP和端口,而这些东西都是一串数字,不具备很好的记忆条件。 所以,为了方便,还是建议你买一个域名,域名不贵但是很值。
如果不希望别人通过公网IP加端口就访问到我的服务,那是不是可以把配置的映射端口给删除了?这样会不会影响域名跳转呢? 这种情况下,你可以删掉这个端口的映射的。因为在我们的方案里面,是先通过80端口访问nginx服务,然后nginx根据传入的Host字段,再由代理转发到指定的端口(端口是由Apache2服务在监听的),由于nginx和Apache2是在同一台机器上,所以可以通过127.0.0.1:xxx的访问方式,也就是内网访问的方式来访问,这样这个xxx端口就不需要映射到公网,跳转也是没有问题的。
这里给大家提供几个排查的方法,也就是几个问题需要重点关注: 1)?安装好了Apache2,如果确保这个服务进程已经正常运行? 使用命令:ps -ef | grep apache2 确认下apache2的进程是否正常运行 2)?配置好了Apache2的CSDN站点,如果确保服务已经正常运行? 使用命令:netstat -an | grep 8101 端口号就使用你自己配置的那个,确认下端口是否处于LISTEN状态。 还可以使用curl http://127.0.0.1:8101? 确认下index.html能否正常取到。 3)?配置好了Apache2的CSDN站点,通过公网加端口的方式无法访问。 确认下云服务器的公网端口映射是否配置成功? 4)?安装好了nginx,如果确保服务进程已经正常运行? 使用命令:ps -ef | grep nginx 确认下nginx的进程是否正常运行 5)?配置好了nginx的虚拟主机,如果确保服务已经正常运行? 使用命令:netstat -an | grep 80 端口号默认就是80,确认下80端口是否处于LISTEN状态。 6)?使用我的域名无法解析,提示DNS解析失败。 确认下DNS域名解析配置是否正确,另外,是否有等5分钟以上,以便于域名解析生效。 可以使用ping命令ping一下你的域名,正常是可以ping通的。 7)?域名可以解析,但是无法正常跳转到CSDN主页。 这里需要先确认下nginx的虚拟主机配置的server_name列表里面是否有你要跳转的域名; 其次需要确认下nginx配置中跳转到Apache2的端口是否正确。 以上这些简单的排查方法,基本就可以解决你遇到的问题了。
在我目前的认知里面,应该是可行的,一定程度上,Apache2和nginx的功能有重复的部分。 一开始我也是只配置Apache2,它的配置文件里面也有一个ServerName?字段,理论上可以这里填上你的访问域名,然后虚拟主机的监听端口改为80,应该是可以跑通的。 单配置nginx来实现,也是类似的。 但是可能我操作的过程中哪里搞错了,最终没有配置成功。 后面才想到这个Apache2+nginx的组合来完成我的需求,这么搞是已经达到我的目的了,毕竟我不是专业配置这个的,还需要多学习学习,以后有机会再试试单独使用一个服务来完成。 如果有单用Apache2或nginx就完成了这个需求的朋友,欢迎分享你的配置方法,不甚感激。
本教程中的所有配置文件,我可以毫无保留地分享给大家,包括Apache2的配置文件、csdn跳转的站点配置文件、nginx的配置的文件、Apache2和nginx的启动停止脚本等等。 这些配置文件是我的主机上真实在用的配置文件,理论上拿到之后,修修改改,换成自己的配置就能用的。欢迎添加我的VX,我私发给你。 配置文件压缩包参考图:
博主专注于嵌入式IoT领域,深耕多年,目前在做一些软件架构设计的工作,平时工作中也会深挖一些关联领域的知识,比如Python,比如网络通讯,欢迎大家找我探讨技术,知无不答。 添加我VX,请备注【CSDN】,谢谢。
为了方便读者朋友们一起交流技术,我特意组建了一个CSDN技术交流VX群,欢迎大家加入讨论技术。
欢迎大家来交流,。 1)?个人博客网站:http://www.recan-li.cn 2)?CSDN:http://csdn.recan-li.cn 3)?知乎:http://zhihu.recan-li.cn 4)?新浪微博:http://weibo.recan-li.cn 5)?gitee码云:http://gitee.recan-li.cn 6)?github:http://github.recan-li.cn 7)?简书:http://jianshu.recan-li.cn 8)?掘金:http://juejin.recan-li.cn
1)?Apache官网:Welcome to The Apache Software Foundation! 2)?Apache的介绍:Apache服务一简介与安装_南风喃的博客-CSDN博客_apache服务 3)?nginx官网:nginx news 4)?nginx是什么?Nginx是什么?能干嘛?_代理 5)?使用nginx实现反向代理:使用Nginx实现反向代理_饭桶一生奋斗-CSDN博客_nginx反向代理 6)?Apache和nginx的区别详解:Nginx 和 Apache 区别最全详解? - 云+社区 - 腾讯云 7)?wireshark官网:Wireshark · Go Deep. 8)?wireshark百度百科:Wireshark_百度百科 9)?wireshark抓包教程:https://jingyan.baidu.com/article/8cdccae9385fe9315413cda6.html |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:56:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |