Contents
Preface
The title of this article looks very literary, but it actually doesn't match my style. After all, although my ideological level is very high (at least as high as 3 or 4 floors), my literary literacy is very average (my Chinese score of 120 in the 1998 college entrance examination was just a fluke).
Let me first talk about why I had the idea of building my own blog. In addition to my blog,About Invincible"In addition to the important reason mentioned in the article, which is to record the process of tossing, another reason is that I read the blog of blogger "bensz". My first reaction at that time was that it was so cool, just like he said:
对于我一个灵活就业、年龄40多岁、无聊中老年人士而言,忽然就觉得:我是不是也可以搞一个个人博客呢?正好可以记录我的折腾过程,当然,最好顺便看起来还能比较牛逼~?以前上班的时候动不动就发名片,那以后网上和人聊天就能动不动就发博客网址了?基于这个非常朴素、非常清澈、没有一点杂质的目的,我开始了搭建个人博客的学习之旅。
Also: Does starting to learn blogging now count as joining the National Army in 1949?
当然,我的优势是本身就是搞IT的,虽然说主要是靠嘴忽悠人(售前工程师、销售工程师),但是毕竟以前也是售后出身,动手能力还是有一些的(什么switch、router、firewall、IDS、IPS、load balancing…谦虚的说,我都还是比较熟的),只是这些和建站都不沾边,而且和也和代码打不了直接的交道,所以对我而言,也算是进入了一个全新的领域,自称一声新手小白完全不过分(严格意义上说,我也不能算对建站完全一无所知,毕竟我20多年前大学的时候可是学习过Frontpag和Dreamweaver,毕业设计也是做一个网站呢)。
Choose a personal blog building method that suits you
Strictly speaking, the most important thing about a blog is not external things such as its form of existence and technical framework, but the content of the blog and whether you can persist in writing. Therefore, theoretically speaking, it is not important whether you stick to the form of a personal blog (there are many ready-made blog platforms: Zhihu, CSDN, etc. When using these platforms, you only need to focus on writing and don’t have to worry about SEO issues), not to mention that the blog form seems so alternative at the moment when short videos are rampant.
However, the current unique network environment has put countless restrictions on the creation of people who choose various domestic platforms (not only blog platforms, but also various popular short video platforms), and they are often blocked for no apparent reason. If you make money from these platforms, you have no choice but to accept it, after all, you need traffic. However, for those who don’t make money from this, but just want to record their lives, or just want to speak freely and write what they want to write, it is very unfriendly. At this time, personal blogs may be the most ideal choice for these people.
Of course, there are pros and cons. Although choosing a personal blog gives you "relative" freedom in content creation, it is achieved by consuming a lot of personal time and energy.
There is also a compromise form for personal blogs: hosting, which is also the way most people choose.
If you choose hosting, you need to choose a suitable hosting platform. The more famous ones are:
1. wordpress.com
It provides free plans. You can publish blog posts directly after registration. You can choose "yourID.wordpress.com" or some free, low-end-looking second-level domain names. The backend is the most classic backend management interface of WordPress. The disadvantage is that it does not support plug-ins (it's not that it doesn't support it, but you have to pay extra, and it's a lot of money), and some rather tasteless advertisements will be automatically added to the end of the blog post. The advantage is that it is really worry-free. You can just write it directly, and the SEO is good.
2. GitHub pages
The page provided by GitHub to private developers can display static content, so it can be used to build a static blog. The advantage is that it is very flexible, and the disadvantage is that it requires a small amount of effort (this small amount is relative to completely self-built) and a certain amount of code knowledge (don't be afraid, there are many tutorials online, just follow them).
From the perspective of saving money, free hosting is indeed a good choice, but choosing the hosting method means that you accept the rules set by others, which is unacceptable to me (the free version of wordpress.com can't use plug-ins? And they want to add advertisements to me? GitHub pages only supports static? But what if I like to use dynamic ones?), so I followed Wang Jinxi's famous saying: "If there are difficulties, you must go ahead; if there are no difficulties, you must create difficulties and go ahead", and chose to build my own personal blog.
All beginnings are hard
For me, everything else doesn't matter, but the quality cannot be low, so an independent domain name is a must. This is not a problem for me, because I have used "tangwudi.com" for many years.
Secondly, how to build the website itself. My first reaction was to look for Dreamweaver. Can you believe it? Later, I carefully read the blog of "bensz" and found out that blogs are built with WordPress. I searched for relevant knowledge and found out that there are dynamic and static blogs. In addition to WordPress, there are other options: Hexo, Hugo, etc.
Finally, I chose WordPress. After all, it is more suitable for beginners. The required functions can be directly expanded with plug-ins, and the appearance design can be done directly in the management background with built-in modules, which can help bloggers save a lot of time. However, even so, I adjusted the appearance and structure of the entire website many times. Before writing the first article, this step took me at least a month. A lot of time was spent on studying basic concepts: how to generate menus, why some menus can display sub-content when the mouse is placed on them, where are the categories used? What is the sidebar, etc., so much so that I almost gave up at that time.
When the architectural adjustment is basically completed and the first article is published, you will feel that all the efforts you have put in before are worth it, and this is the real beginning.
The formation of the home data center model
At the beginning, I thought it would be easy to publish, after all, my home telecom broadband has a public network address. Although there are no ports 80 and 443, I can just do a port mapping on the router and manually add a port after the domain name. However, after the actual operation, I felt that it was really low-level (at that time, I didn't even have the concept of exposing the source station IP).
Since I didn’t know about Cloudflare at that time, I thought that if I wanted to use ports 80 and 443, I would still need a cloud server. After all, only cloud servers have ports 80 and 443. So I bought a 2-core 2G 4M Tencent Cloud lightweight server (99 in the first year, I got a lot of money, but I paid it back in the second year~), and also bought a cc domain name (because the com domain name was bought from Alibaba Cloud at that time, and I didn’t know that I could transfer it directly to Tencent Cloud).
After deploying the Pagoda Panel on Tencent Cloud and then deploying WordPress in source code mode, I found that although ports 80 and 443 were open, the cc domain name was not registered and could not be used (it would be redirected to the registration page). Then I had no choice but to study how to register myself. Fortunately, this was not complicated. After a few days, the registration was finally passed, and the cc domain name could officially access port 443 of the Tencent Cloud server.
有了443端口,得有ssl证书啊,那个时候还不太了解Let’s Encrypt,就直接用的腾讯云提供的免费1年期DV证书(PS:由于当时不知道亚洲诚信范围证书20个主机名的限制,没有规划,一阵乱用,导致后面20个名额很快用光了~,很尴尬),然后无敌的个人博客1.0就在腾讯云服务器上安家了。
In fact, at that time, the name of the blog was not the current "Invincible Personal Blog", but the somewhat corny name "Invincible Spiritual Station". This was because the name with the keyword "blog" could not be passed when it was filed. After choosing for a long time, I was really tired of choosing, so I had no choice but to choose this one.
But at this time, the 4M uplink bandwidth of Tencent Cloud Server became a discordant element in my eyes. After all, if the traffic is a little bit larger, 4M will be full, and this bottleneck is too big, so I turned my attention to Tencent Cloud's CDN. After all, CDN accessing its own cloud server is not limited by 4M bandwidth. And then I was pleasantly surprised to find that CDN traffic is quite cheap, and CDN back to the source can actually customize the port, so can't I build the source station directly at home? After all, my broadband at home has IPv4/IPv6 dual-stack public network addresses.
Then it was another hassle to deploy wordpress on the M1 basic version of macmini at home in docker mode. Then the iKuai router mapped an available public network port directly to the service port of WordPress on the intranet through port mapping. The CDN then pointed to the mapping port on the dynamic domain name corresponding to the iKuai wan port IP through the custom source station port. In this way, the blog was migrated back from the cloud server to the macmini at home.
However, my home is not just a blog application, so it is impossible to map a port for each application, right? So I added a reverse proxy later. The iKuai router only needs to map a public network port to the reverse proxy's port 443, and then the reverse proxy can initiate a request to WordPress based on the host of the access request. For security reasons, I added a WAF after the reverse proxy and before WordPress, so that the entire public network back-to-source solution has a certain degree of security. In fact, at this time, the prototype of the domestic line public network back-to-source solution for the home data center was officially formed.
Then, I learned about Cloudflare. After studying it for a while, I completely abandoned the domestic CDN public network back-to-source solution, and even gave up the CC domain name (after all, the CC domain name is registered, which is a bit scary. It took me a long time to completely eliminate the results of the CC domain name in the search engine). I moved "tangwudi.com" directly from Alibaba Cloud to Cloudflare. At the beginning, I also used the public network back-to-source method. Later, I found that the speed of the public network back-to-source was abnormal, so I changed to the tunnel method to publish the application. I used the various functions provided by the Cloudflare free plan (caching, WAF, DDoS mitigation, etc.), and used the home WAF as the final filter. Only then did the home data center solution become truly complete.
Looking back from August last year to now, I have taken too many detours and wasted a lot of energy, but I have also learned a lot of knowledge.
After reading the above content, will many friends who have the idea of building their own blogs but don't have much foundation give up? In fact, it's not that scary. I recorded the detours I took just to prevent those friends who haven't taken the first step from taking these detours; or those who are taking detours don't have to take the remaining detours. The ultimate goal of the home data center solution is to allow friends who need it to quickly build and publish their own blog websites without too much professional knowledge, even if the domain name is not registered, by reusing the old equipment at home. Therefore, simplicity and universality (relatively speaking) are the general principles in the end, and the effect achieved is similar to the stills in Stephen Chow's "King of Destruction":
In addition: Actually, strictly speaking, I know many of these concepts. After all, I used to be a sales engineer. Although it is not the same field, I have talked about them many times when I was fooling people. However, knowing is one thing, and really implementing them by yourself are two different concepts. Take reverse proxy for example. In fact, the http mode in professional load balancing equipment works as a seven-layer reverse proxy. If you want to implement the function of reverse proxy + 7-layer load balancing, the configuration is simple. Just select this mode, associate the server group that needs to be load balanced, and then fill in the host, x-forwarded-for and other parameters directly through the profile configuration file. However, when I was asked to implement the same function through nginx, I was a little confused at first. Therefore, I have really made up for a lot of basic theoretical practices during this period.
Is a personal blog really necessary?
After reading the above content, I believe many friends will ask a question: Is it really necessary to spend so much time and energy on personal blogs?
This question actually has different answers for different people.
In the eight months since I started blogging, I feel that the biggest beneficiary of personal blogs is actually the "individual".
1. Record of the process
Before I had a blog, to achieve a certain technical goal, I would first search for a bunch of tutorials online, then refer to here and there. If I encountered an error in the process, I would search again. As a result, after I finally achieved it, I didn’t even know how many tutorials and articles I had referred to. For complex multi-step operations, I might not even know in what order I should implement them again.
After I started my blog, I would carefully record every step of the operation (my thoughts at the time, the results of a hypothesis verification, operation steps and screenshots of the output results). To use a well-known advertising slogan: "My mother no longer has to worry about my studies."
2. Sorting out relevant knowledge points
If you just want to record the operation process, you don't actually have to use a blog. It's the same as recording it directly locally. The only difference is that recording it for yourself and showing it to others are two completely different concepts. It's like a girl who doesn't wear makeup at home, but if she wants to go out and meet people, she has to dress up beautifully, right?
The same principle applies to blogging. When I am about to publish a blog post, I will examine the problems in this article from the reader's perspective: "Is this point too vague? Will others not be able to understand it? Does it require some explanation of related knowledge points to make it easier to understand?" If you write every article with this mentality, you will find that in order to publish a high-quality blog post, you have to frequently sort out the related knowledge points upstream and downstream, which will prompt you to continue learning and growing.
3. Make your thinking more logical
People often mention the term "spark of thought", which actually refers to "thought" in Buddhism. In a split second, countless (actually, there is a number, in the "Bodhisattva Birth Sutra", Maitreya Bodhisattva said, "320 million thoughts in one snap of the fingers.") thoughts arise and disappear in the human brain, including good thoughts and bad thoughts. We don't care about bad thoughts, but if there are good thoughts, such as suddenly remembering a certain technical point that is worth writing a special article, should we take action? Over time, will the blog never have to worry about having no content to write?
Back to the point, when a spark occasionally comes into our brains, we have to eventually write it into a blog post, which cannot be done by just typing on the keyboard.
A good technical blog post should at least include but not be limited to the cause (what idea or problem is this article based on, hoping to arouse the interest or resonance of readers), the process (the steps of tossing, the explanation of the relevant knowledge points involved, which should be easy to understand, with multiple screenshots and preferably red boxes to indicate the key content, so that people will not be discouraged, frowning and dozing off), and the result (the final effect display, which is convincing and can also see the final effect, at least let others know what you have done after all the trouble. This is also the reason why I am dissatisfied with some articles on the Internet. I don’t even see the screenshot of the last result. You have to produce a rendering to sell a house). Going further, you need to consider whether the language logic is clear, whether the paragraph segmentation is reasonable, etc. Over time, the habits you develop when writing articles will also affect your usual thinking and make your thinking more logical.
Note: I am just talking about this. I am not doing well enough, but I am just working towards this goal.
4. Fight your own inertia with perseverance
Everyone has laziness. The best way to fight against your own laziness is to find something you like (or at least don't hate) and do it persistently. From this point of view, blogging is very suitable: it is not as tiring as exercise, you don't have to feel bad about spending money, and you can show off to others at the same time.
5. As the last pure land where you can laugh, scold and rage to your heart's content
At present, Internet supervision is becoming increasingly stringent. Anyone with a little common sense knows that trouble comes from the mouth. They can only remain silent through patience in various domestic media. However, it is better to release than to block. There is always a need for a place to vent. At this time, if you have an independent personal blog, it can become the last pure land where you can vent your emotions at will.
Note: This is based on a premise. At least the domain name cannot be a registered domain name, right? And it is best not to go too far. There should still be a limit. Don't underestimate the correlation analysis of big data. Unless the domain name, posting username, website name, etc. when you build the website have nothing to do with your domestic social media accounts, email accounts, online names, nicknames, etc., it is better not to be too arrogant.
Having said so many points, I finally found that the biggest target reader of a personal blog is actually the blogger himself. Many years later, when you open your blog and look at the articles written by your immature self, will you smile?
Sharing and touching
In fact, I had not originally specifically explored how many people were still maintaining personal blogs. I was just quietly updating my blog out of personal interest and for the purpose of learning knowledge, and I did not pay too much attention to how many people were reading it. The few personal blogs that I knew of were only found by chance when I was searching for some knowledge points on search engines. At first glance, they were old blogs that had existed for many years, and they did not attract my attention at the time.
Until a few nights ago, I accidentally saw a blog post:
In fact, it is just a simple free blog hosted on wordpress.com. It is not gorgeous and the content is mostly my own sharing. However, through this article, I learned about the concept of blog aggregation website. After reading it, I realized that in this crazy era when almost everyone is using Tik Tok and Kuaishou (excluding me, I have never even downloaded it, let alone registered an account), there are still many people who quietly insist on creating personal blogs. This reminds me of the reason why I started learning to make a personal blog:
I suddenly realized that personal blogs have another meaning: sharing.
Although the main content of a personal blog is created for yourself, after you share it, even if most people may glance at it and pass by quickly, there will always be people in the vast sea of people who will stay because of your content and benefit from your sharing. At this time, your sharing becomes meaningful.
I suddenly felt touched. It turned out that there were other people walking on this road, and I was not alone.
Final Thoughts
Relatively speaking, although independent personal blogs have outstanding advantages: high freedom and flexibility, their disadvantages are also outstanding: you need to spend time on operation and maintenance, learn a lot of relevant knowledge, and if you want to increase traffic, you need to study SEO yourself. I have just come into contact with this knowledge, so I will learn and experiment slowly. Since you have chosen this path, are you still afraid of learning and experimenting?
There is a saying I appreciate: The best time to plant a tree is ten years ago, the second best time is now.
Don’t worry about which technical framework is good, and don’t worry about which field to start with. I think the most important thing is to build a blog and then write the first article carefully. Just like a saying in our cycling circle: Don’t worry about whether the bike is good or not, and don’t worry about whether the equipment is complete or not. The first thing you have to do is to ride the bike!
說了這麼多不推薦,最後我推薦免費託管的 Bearblog,可以自託管也可以託管的 Ghost 博客(託管的平臺實在太貴了,都是按美金計費,不如自己買個便宜的雲服務器用寶塔一鍵安裝), Halo 博客半推薦。推薦他們還有一個原因,簡潔,好看。他們的主題都可以變得和靜態博客一樣。不像 WP 那樣臃腫,而且主題都很不好看。
真要说不折腾、免费的静态博客,还是有几个选择的,只是要求就不能太高了。
追求內容還是有點困難,我看過的中文寫成的博客最多的是生活和技術,內容都不是多麼好。外文的好像也是一樣。可是我想這個東西,祇有多看書可以完成的吧?我儘量使我的博文變得更長,更完整。
追求内容没毛病,不过内容好或者坏的标准就难说了,俗话说得好:汝之蜜糖,彼之砒霜。不同知识水平的人,对于相同的内容评价肯定是不一样的:有些关于某些知识点的科普类的文章,可能不太懂的人觉得写得很好,但是对于这方面的熟手来说就觉得没什么意义,所以如果要追求文章内容让人人都觉得好,现实中不太容易。不过我觉得,最关键的是写作的内容对自己要有意义:记录也好、梳理所学知识也好,能够让自己本身受益,这才有坚持下去的理由,这之后,才是尽量能帮助别人,以及像钓鱼一样找到和自己志同道合的朋友。
国内的那些平台太恶心了,而且现在的平均水平也低,劣币驱逐良币,真正的大神早就不玩这些了。而且如你所说,那些莫名其妙的审核规则,完全是恶心人。
以後能聊聊自己的專業嗎?(科普向的那種)之前我以為 IT 關於代碼,網絡,網站方面的什麼都會,沒想到不是的。
IT本来就是个很抽象的词汇,包罗万象:小到网吧的网管,大到马斯克,都算在”从事IT”的范畴。我从刚毕业那会(2002年)到2007年从事的是”网络工程师”,专注于各种规模的网络项目的规划和实施;到了07年之后,进了国内最大的IT产品的总代公司,开始做”售前+售后工程师”,接触了各种国外品牌的整体解决方案(F5、checkpoint、netscreen、macfee等等);到了11年之后,我去了F5的竞争对手厂家,专门做应用交付这一块的产品。代码和网站这两块在当今基本可以合在一起,因为网站开发(前端、后端或者全栈)都是代码相关的,当然,也有对特定领域软件的代码开发;纯网络的工作在现在其实是不太行了,因为国内早就过了网络基建的时候了(2000年前后的CCIE证书一考出来可以直接找个单位一挂靠,然后直接拿钱出来买辆车~),现在有多少专业的”网工”实施过大规模网络(市级或者省级,乃至全国范围的,比如CN2)?其实真要认真划分,还可以分出很多IT的细分领域,根本说都说不完。其实,可以从工作职能方面来划分,这样更清楚:研发(代码)、销售、售前工程师、售后工程师、support工程师。
感谢您认真的回复。不过,点击您的回复邮件的「前往查看」按钮,链接的网址却是
http://192.168.10.99:50443/technology/homedatacenter12030/#comment-27878
或许是您之前用的服务器在迁移以后还没把那个按钮链接修改过来?哈哈,那是因为我平时是直接用内网地址来管理wordpress的,这是我推崇的使用域名访问和日常管理分离的做法,因为一些安全策略对使用域名访问这种方式设置得比较严,如果直接用域名管理登陆得比较慢,所以平时都是直接用内网地址直接访问。这条回复是用的域名方式登陆wordpress的后来来填写的,就没有这个问题。
I found the blogger through the blog post [Home Data Center Series Using gost to Build Your Own Proxy Server and Forwarding Proxy Chain], which benefited me a lot. Thank you!
I actually want to create a blog, because I find that I can't remember a lot of things. I forget the command configuration after a long time, but I need to reuse it constantly to meet my needs. Blogs feel more like a diary to me.
Similarly, I also came up with the idea of building my own blog after reading other people's blogs, because it is like having your own home on the ethereal Internet. In this home, you can take notes seriously, vent your emotions freely, and meet many like-minded friends. In today's chaotic, messy, upside-down society, it is very valuable to have such a "time and spirit room" where people can relax. Another purpose of building this blog is to help more people build their own "online home".
Your biggest reader is yourself, that’s right.
Haha, I just wrote this out of inspiration. If you start with the idea of making money from your personal blog, then the things you write will probably not be pure, and it will be difficult to stick to it. Only when you really write for yourself and the articles you write can satisfy you spiritually, this is the best motivation to stick to it for a long time.