【科普教程】周末爆肝两天,万字长文,手把手教你配置CSDN主页的独特域名(保姆级教程,建议收藏)

举报
架构师李肯 发表于 2022/04/06 22:45:51 2022/04/06
【摘要】 手把手教你配置CSDN主页的独特域名,你值得了解下!

0 感受下效果图

img点击并拖拽以移动

1 写在前面的话

相信经常在CSDN上更新博文的博主,一定有这么痛点:“CSDN分配的给我的主页地址太low了,我的博文这么牛皮,难道就不值得有个专属的域名访问吗?”

比如像,yyds.recan-li.cn (Recan YYDS)就能够访问到我的CSDN主页,多么87V5!

你要这么说,CSDN官方还真提供了类似这样的服务,不知道你留意过没有?

你试下把鼠标移到个人头像的图标上,有个【内容管理】,进去之后找到有一项【自定义域名】配置。不过不得不说,这个配置真的很鸡肋,名字不能太短,而且你还是得和CSDN的名字绑定,最可恶的是,你选好了名字之后,一点【就是它了】,居然自动给你跳转到购买会员页面,言下之意,没钱你玩个jj,所以你懂的!

img点击并拖拽以移动

img点击并拖拽以移动

OK,扯了这么多,有没有什么办法,绕过CSDN,搞一个高大上的域名地址呢?方法当然有,且听下文分解,保姆级教程,手把手教你配置,你也可以拥有独一无二且牛逼哄哄的自定义CSDN域名。

2 先解决有没有的问题

2.1 前置条件

要达到类似开头说的功能,访问 yyds.recan-li.cn 就能访问到自己的CSDN主页,你得具备以下几个条件:

  • 有点Linux服务器命令行的基础,能够操作基本的命令行配置(编辑、修改、删除);

  • 你得拥有一台具备公网IP地址的Linux(云)服务器,推荐使用Ubuntu版本;

  • 你得拥有一个属于你自己的DNS域名;

  • 你得懂一些网络通讯的基础知识,至少要知道IP、域名、端口、监听、服务器、客户端这些基本概念。

2.2 购买云服务器

购买云服务很简单,如果你仅仅是为了建站玩一玩自己的博客,配置选最低一点就好了,基本都够用。国内网络环境下,首推阿里云、腾讯云、华为云这些大厂的云服务器。

一般这种配置低的服务器,价格都是比较便宜的,碰到打折促销或者是新用户的下单,往往更加便宜,大概也就是100块一年吧。

购买这些云服务器基本都是傻瓜式0配置的,下单购买之后,即可在线自动配置,随后在你的购买账号下(比如我购买的是阿里云服务器,就在我的阿里云账户下),有个控制台,点进去就可以看到你购买的云服务器了,有登录密码、公网IP地址之类的重要信息。

一般来说,选购的云服务器都是没有运行界面的,只有命令行,可以通过SSH远程登录。

这里推荐Ubuntu的Linux发行版本,对初始用户还是比较友好的。

具体如何通过SSH登录服务器,这里就不叙述了,很容易就学会的。

img点击并拖拽以移动

img点击并拖拽以移动

再次强调下,这一步骤,主要为了获得一个具备公网IP访问的公有云服务器。

2.3 购买DNS域名

购买DNS域名,与购买云服务器类似,也可以选主流的阿里云、腾讯云、华为云等服务器上,当然如果你首次购买,建议你同样选择云服务器那个服务商,这样你就只需要登入一个账户就可以看到你的云服务器和DNS域名。

当然你可以单独选另一家服务商,比如我的就选了华为云的DNS域名。

购买,配置,登录都类似,只不过在勾选域名的时候,需要你指定你的域名后缀,不同类型的后缀价格不一样,而且有可能你想用的域名后缀已经被人选了,这也是为何会有【域名投资】这种玩法的出现,就是疯狂去抢注域名,等别人要用的时候,只能向你购买转让,毕竟域名是唯一的。

img点击并拖拽以移动

我的域名服务(华为云)控制台界面,每个服务商提供的界面应该都是类似的。

img点击并拖拽以移动

再次强调下,这一步骤,主要为了获得一个具备你个人标识的【独一无二】的域名地址。

推荐个华为云域名服务,还真的很便宜:

域名建站专场_域名购买_域名优惠活动_域名注册_域名申请_域名特惠_网站建设-华为云

img点击并拖拽以移动

2.4 配置Apache2服务

Apache2服务是什么,我先不做具体叙述,后面会详讲,这一步我主要先把Aapche2服务给搭起来。

在主流的Linux发行版里面,使用命令行就可以在线安装这个服务。

比如我使用的是Ubuntu Linux,它的安装命令就是:

sudo apt-get install apache2

注意如果你是普通用户的话,一定要使用sudo权限才能安装成功。

输完密码之后,根据提示就可以很顺利地把Apache2服务安装好。

下面开始配置Apache2服务,它的配置文件位于/etc/apache2/目录下:

img点击并拖拽以移动

配置过程中,我们有3个地方需要配置:ports.conf、sites-enabled、sites-available;

先说ports.conf的配置:

用vim打开它,默认它是监听80端口的,我们先把它注释掉,换成监听8101端口,这个端口就是专门为CSDN主页跳转使用的,因为80端口后面的nginx服务需要使用。

修改好的内容如下所示:

# If you just change the port or add more ports here, you will likely also

# have to change the VirtualHost statement in

# /etc/apache2/sites-enabled/000-default.conf



#Listen 80



#csdn port

Listen 8101



<IfModule ssl_module>

        Listen 443

</IfModule>



<IfModule mod_gnutls.c>

        Listen 443

</IfModule>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

点击并拖拽以移动

再看site-enabled目录的配置,先进到这个目录,里面只有2个文件:

img点击并拖拽以移动

由于我们先不考虑ssl访问,所以ssl那个配置文件先不用动。

我们在这个目录下新建一个配置文件叫001-csdn.conf,里面的内容如下:

<VirtualHost *:8101>

        # The ServerName directive sets the request scheme, hostname and port that

        # the server uses to identify itself. This is used when creating

        # redirection URLs. In the context of virtual hosts, the ServerName

        # specifies what hostname must appear in the request's Host: header to

        # match this virtual host. For the default virtual host (this file) this

        # value is not decisive as it is used as a last resort host regardless.

        # However, you must set it for any further virtual host explicitly.

        #ServerName www.example.com



        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/csdn/html



        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,

        # error, crit, alert, emerg.

        # It is also possible to configure the loglevel for particular

        # modules, e.g.

        #LogLevel info ssl:warn



        ErrorLog ${APACHE_LOG_DIR}/csdn_error.log

        CustomLog ${APACHE_LOG_DIR}/csdn_access.log combined



        # For most configuration files from conf-available/, which are

        # enabled or disabled at a global level, it is possible to

        # include a line for only one particular virtual host. For example the

        # following line enables the CGI configuration for this host only

        # after it has been globally disabled with "a2disconf".

        #Include conf-available/serve-cgi-bin.conf

</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

点击并拖拽以移动

其中虚拟主机的端口号8101一定得是ports.conf里面配置的,要对得上,然后这个虚拟主机的站点文件是位于**/var/www/csdn/html**目录下。

下面我们就去这个站点目录编写我们的站点文件,也就是我们常说的html文件。

首先/var/www/csdn/html目录开始是不存在的,你需要使用以下命令重新建立:

mkdir -p /var/www/csdn/html

然后进到这个目录,创建一个叫index.html的文件,里面的内容如下:

<!DOCTYPE html>

<html>

        <script>

                    window.location.href="https://blog.csdn.net/szullc";

        </script>

         

        <body>

        </body>

         

</html>

点击并拖拽以移动

蓝色部分替换成你的CSDN主页即可。

为什么文件名叫index.html,是因为一般的网络站点都会自动找站点目录下有没有index.html。

到这一步,Aapche2服务基本就配置好,我们需要使用以下命令重启下服务,使得刚刚的配置生效。

sudo /etc/init.d/apache2 restart (注意使用sudo权限)

提示成功之后,服务就跑起来了。

为了保险起见,我们可以确认下我们监听的8101端口是否处于监听状态。

使用如下命令查看:

netstat -an | grep 8101

当你看类似如下的LISTEN字样时,表示它处于正常的监听状态,也就证明我们的Aapche2服务已经跑起来了。

img点击并拖拽以移动

这时,如果你是本地服务器配置的,比如通过虚拟机工具搭建的服务器,有浏览器的话,输入http://127.0.0.1:8101就可以正常跳转到你的CSDN主页了。

但是我们购买的是云服务器,只有命令行,没有浏览器怎么办?你可以使用命令访问下,看下Apache2服务返回是否正常:

curl http://127.0.0.1:8101

如果你能看到这样的返回,就是把你上面的index.html的内容返回给你,证明运行是完全OK的。

img点击并拖拽以移动

但,我们不是买了具备公网IP的服务器吗?我们能不能通过公网IP访问而不是127.0.0.1这种回环IP访问呢?我们试试看,假如我的公网IP是8.23.56.89,那么访问地址就是:

curl http://8.23.56.89:8101 (记得更换成你自己的IP)

你会发现访问超时,无法访问,类似这样的错误。

img点击并拖拽以移动

或者使用windows的浏览器直接访问:http://8.23.56.89:8101 (记得更换成你自己的IP)

同样也是超时,无法访问。

为什么啊?

我的8101端口明明处于监听状态啊?

原因就是公网IP的端口映射问题。

你可以通过公网IP的22端口SSH登录你的服务器,那是因为云服务器提供商默认帮你把22端口映射好了。至于其他的一些端口,默认都是没有对外映射的,也就是说如果你想通过公网IP+端口的形式访问你的服务器,你必须保证这个端口有被映射出来。

如何配置端口映射,请看下一章节。

2.5 配置云服务器的端口映射

首先登录你的云服务器账户,你在哪个平台购买的就登录哪个。

下面以我的阿里云服务器为例来讲解,其他云服务器也类似,可能就是配置的菜单有所变化而已。

找到【云服务器ECS】,点进去:

img点击并拖拽以移动

找到【安全组】那一栏,点进去:

img点击并拖拽以移动

找到【配置规则】,点进去:

img点击并拖拽以移动

找到入【方向】-》【手动添加】,点进去:

img点击并拖拽以移动

之后,下面会多出一行端口配置,参考如下来填写:

img点击并拖拽以移动

因为后面也需要用到80端口,所以干脆在这里一同把80端口也给配置了,如下:

img点击并拖拽以移动

如上配置成功之后,我们再试下使用公网IP加端口的方式访问:

curl http://8.23.56.89:8101 (记得更换成你自己的IP)

img点击并拖拽以移动

可以访问成功了,证明8101的端口映射已经OK了。

或者使用windows的浏览器直接访问:http://8.23.56.89:8101 (记得更换成你自己的IP)

这时候应该可以正常跳到你的CSDN主页了。

OK,离最终的目标已经很接近了。

2.6 配置nginx服务

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),里面的配置内容如下:

# forward for CSDN

server {

    listen 80;



    server_name csdn.recan-li.cn blog.recan-li.cn yyds.recan-li.cn; # config domain



    location / {

        proxy_pass http://localhost:8101;

    }



}

点击并拖拽以移动

img点击并拖拽以移动

尤其要注意蓝色部分,

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

当你看到图中类似的字样,表示监听正常。

img点击并拖拽以移动

既然nginx已经启动成功了,那我们试一下yyds.recan-li.cn跳转是否正常?

嗯哼?怎么回事?无法访问此界面?

img点击并拖拽以移动

仔细看下,原来是域名地址的解析还没配置,解析失败了!

不然,我怎么会说一定要有自己的域名呢?

这可是非常关键的一步,且看下文步骤。

2.7 配置DNS域名解析

配置DNS域名,需要登录你购买的域名解析的账户,是阿里云账户就登录阿里云。

下面我以华为云的为例,讲解下我的域名如何配置,其他云服务器提供商的配置方法都类似。

首先登录账户,进入到控制台界面,找到你的【域名注册】服务:

img点击并拖拽以移动

找到【解析】这一按钮,点进去:

img点击并拖拽以移动

找到【管理解析】,点进去:

img点击并拖拽以移动

找到【添加记录集】,点进去:

img点击并拖拽以移动

填写解析记录,参考如下:

img点击并拖拽以移动

这里我们可以取自己想取的名字,比如niupi等等,注意域名的后半部分都是确定的,那是由你购买的域名决定的。

选解析类型,选A类解析即可。

值里面填你的公网IP地址,保存就可以了。

配置好了之后,我们可以试下这个域名是否能正常解析到你配置的IP,使用cmd的ping命令:ping yyds.recan-li.cn

img点击并拖拽以移动

当你能看到你的公网IP的时候,证明解析成功了。

这里需要注意的是,配置好域名,它是不会立即就生效的,需要等点时间,一般5分钟之后,解析就可以。

2.8 大功告成,秀一下

把域名解析这最后一步搞定了,基本就已经全部配置好了。

我们来体验下:

img点击并拖拽以移动

OK,大家可以看到,成功达到跳转的目的,一起秀起来吧!

3 再解决为什么的问题

3.1 Apache2服务是个啥?

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协议访问它;并且它还支持虚拟主机技术,本教程中的配置就是利用这个虚拟主机技术进行配置。

3.2 nginx服务又是个啥?

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

简单来说,它就是:一个轻量级的HTTP服务器,但可以支持反向代理功能;本教程的配置就是利用了nginx的反向代理功能。可以参考后面的参考资料,有细讲nginx的反向代理是怎么回事。

3.3 Apahe2和nginx有啥区别?

我不是专业的,找了一篇讲得比较清晰的文章,大家可以参考下:

Nginx 和 Apache 区别最全详解? - 云+社区 - 腾讯云

img点击并拖拽以移动

3.4 什么是域名?跟IP有什么关系?

域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet 上某一台计算机 或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。

由于IP地址 具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址 相互映射 ,使人更方便地访问互联网 ,而不用去记住能够被机器直接读取的IP地址 数串。

尽管IP地址 能够唯一地标记网络上的计算机 ,但IP地址 是一长串数字,不直观,而且用户记忆十分不方便,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址 。IP地址和域名是一一对应的,这份域名地址 的信息存放在一个叫域名服务器 (DNS,Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器 。域名服务器就是提供IP地址和域名之间的转换服务的服务器。

本教程就是通过购买一个域名服务,然后自定义一个子域名来达到访问跳转主页的需求。

3.5 域名跳转的实现原理

有了上面的预备知识,到这我来讲下实现自定义域名来跳转到CSDN主页的原理就比较容易了。

注意,等你真正理解并学会了这里的配置方法,你可以实现任意域名(当然域名后缀得是你的)跳转到你的任意社交主页,比如我的知乎主页 (zhihu.recan-li.cn ),我的github主页(github.recan-li.cn ),我的gitee主页(gitee.recan-li.cn )。

整一个跳转的原理如下图所示:

img点击并拖拽以移动

实现跳转主要有以下几步:

  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语法定义的,浏览器会自动执行的,无需人工干预;

  1. 浏览器取得需要跳转的url后,也同样需要发起域名解析,经过域名服务器取得对应服务器的IP地址,然后根据是HTTP还是HTTPS,分别添加80或443端口,访问真实的服务器,也就是对应我们要跳转到的主页;

  2. 待浏览器重新跳转完成之后,就会看到对应的主页就显示出来了,也就是上面展示的那种效果。

3.6 抓包分析

为了进一步验证上面的原理,我们来尝试抓一下网络通讯报文,通过报文一看,便一目了然,任何跳转都逃不过网络报文的法眼。

这里需要用到的工具是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

这里我直接把我这边抓到的通讯报文放这里,

访问CSDN主页网络抓包-网络安全文档类资源-CSDN下载

感兴趣的可以拿来分析分析。

通过分析报文,发现真正的访问过程比我描述的步骤还要多一些,但大体还是按照我说的这个流程来的。

以下做一下简要的步骤分析:

  1. 解析yyds.xxx.com域名,获取IP;

img点击并拖拽以移动

  1. 发起HTTP请求,注意HTTP头部填充了Host字段,往对应IP的80端口(HTTP默认端口)发起GET请求;

img点击并拖拽以移动

img点击并拖拽以移动

  1. nginx识别到请求,根据Host的值进行反向代理,返回对应的index.html;由于这一步是在服务器完成的,所以抓包里面无法体现;

  2. 浏览器取得index.html,进行二次访问;首先也得解析域名,拿到服务器的IP;

img点击并拖拽以移动

  1. 取得IP后,根据是访问的URL是HTTP还是HTTPS,加上80或443端口,发起连接访问,最后成功返回主页的内容。

img点击并拖拽以移动

4 你一定还有很多疑问

4.1 如果我没有云服务器怎么办?

如果你只有自己的域名,但没有自己的公网IP云服务器,那么你需要找一个别人有云服务器的朋友(比如我),帮你配置一个端口,然后把端口对应的Apache2服务站点的index.html跳转到你的CSDN主页,同时在nginx中将server_name配置成你的域名地址,这样就可以了。

说白了,就是重新走了一遍配置过程,这些配置对于云服务器是没有增加多大压力的,只不过增加了几个端口的跳转而已。

如果有此需求的朋友,可以关注我的主页,然后私信我,我帮你搞定。

4.2 如果我没有自己的域名怎么办?

对不起,如果没有域名的话,就只有通过IP加端口的方式来访问了;虽然通过域名最终也都是IP和端口进行通讯,但是使用IP和端口的方式,有个致命的弱点就是需要记住IP和端口,而这些东西都是一串数字,不具备很好的记忆条件。

所以,为了方便,还是建议你买一个域名,域名不贵但是很值。

4.3 如果我不想映射公网端口,会影响域名跳转吗?

如果不希望别人通过公网IP加端口就访问到我的服务,那是不是可以把配置的映射端口给删除了?这样会不会影响域名跳转呢?

这种情况下,你可以删掉这个端口的映射的。因为在我们的方案里面,是先通过80端口访问nginx服务,然后nginx根据传入的Host字段,再由代理转发到指定的端口(端口是由Apache2服务在监听的),由于nginx和Apache2是在同一台机器上,所以可以通过127.0.0.1:xxx的访问方式,也就是内网访问的方式来访问,这样这个xxx端口就不需要映射到公网,跳转也是没有问题的。

4.4 如果某些步骤执行完了,达不到教程的效果怎么办?

这里给大家提供几个排查的方法,也就是几个问题需要重点关注:

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的端口是否正确。

以上这些简单的排查方法,基本就可以解决你遇到的问题了。

4.5 能不能只配置Apache2或者nginx就完成相应的功能?

在我目前的认知里面,应该是可行的,一定程度上,Apache2和nginx的功能有重复的部分。

一开始我也是只配置Apache2,它的配置文件里面也有一个ServerName 字段,理论上可以这里填上你的访问域名,然后虚拟主机的监听端口改为80,应该是可以跑通的。

单配置nginx来实现,也是类似的。

但是可能我操作的过程中哪里搞错了,最终没有配置成功。

后面才想到这个Apache2+nginx的组合来完成我的需求,这么搞是已经达到我的目的了,毕竟我不是专业配置这个的,还需要多学习学习,以后有机会再试试单独使用一个服务来完成。

如果有单用Apache2或nginx就完成了这个需求的朋友,欢迎分享你的配置方法,不甚感激。

5 更多技术、更多分享

5.1 教程的配置文件下载

本教程中的所有配置文件,我可以毫无保留地分享给大家,包括Apache2的配置文件、csdn跳转的站点配置文件、nginx的配置的文件、Apache2和nginx的启动停止脚本等等。

这些配置文件是我的主机上真实在用的配置文件,理论上拿到之后,修修改改,换成自己的配置就能用的。欢迎添加我的VX,我私发给你。

配置文件压缩包参考图:

img点击并拖拽以移动

5.2 博主VX

博主专注于嵌入式IoT领域,深耕多年,目前在做一些软件架构设计的工作,平时工作中也会深挖一些关联领域的知识,比如Python,比如网络通讯,欢迎大家找我探讨技术,知无不答。

添加我VX,请备注【CSDN】,谢谢。

img点击并拖拽以移动

5.3 技术交流群

为了方便读者朋友们一起交流技术,我特意组建了一个 物联网技术交流VX群,欢迎大家加入讨论技术。

image-20220406154823211

5.4 博主的更多网络平台

欢迎大家来交流,。

6 参考资料

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。