个人网站没落了?
共 6838字,需浏览 14分钟
·
2020-11-06 01:46
点击上方“Jack Cui”,选择“加为星标”
第一时间关注技术干货!
1
个人网站,就如同当年的QQ空间,一个曾经很时髦的的名词,如今却逐渐被人们淡忘。
个人网站,也早已不再是互联网流量的重要入口。移动互联网时代,是公众号、B站、知乎、头条、抖音等内容创作平台的天下。
尽管如此,仍然有一些群体愿意玩个人网站,他们是目标成为程序员的学生党,以及热爱折腾的打工人。
搭建个人网站,对于程序员来说,是一个学习 Linux 基础、数据库、前后端知识的实战项目,也可以加深对网络爬虫的理解。
我的个人网站,已经稳定运行了3年,每日访客 1000+。
写了很多成系统的技术文,当然最受欢迎的当属机器学习和网络爬虫系列文章,阅读量早已破百万。
对于程序员来说,写技术文章,是巩固梳理知识点的过程,也方便后续自己对于已学知识点的回顾。受益于个人网站,当初毕业找工作的我,也曾意外获得过一些额外的面试机会。
加我好友的读者朋友,除了会问我一些技术问题,还会问我怎么搭建和运营个人网站,怎样运营公众号。
有啥问题,给我个三连,「肤浅」的我立马写文作答。
今天,就先来篇详细的个人网站搭建教程。
2
3
服务器公网IP
服务器远程连接密码
例如阿里云 ECS 可以登录控制台查看服务器公网 IP 和远程连接密码:
远程登录工具我使用的是 XShell ,也可以用 SecureCRT ,XShell 的使用可以看下我早期在 CSDN 写的文章:
https://blog.csdn.net/c406495762/article/details/70808051
在 XShell 配置里填写好主机(服务器公网IP),登录用户(root),登录密码(服务器远程连接密码)即可完成登录。
登录服务器后需要安装一些后续需要用到的指令包:
yum install vim unzip lrzsz
如果是 Ubuntu 主机,安装指令需要使用 apt-get install,Ubuntu 的Centos 一些指令是有些区别的。本文以 Centos 为例说明,后续不再强调。
接下来如果是阿里云的用户,还需要配置安全组规则:
然后添加 80 端口(http用)和 443 端口(https用),添加如下:
当然如果服务器供应商直接就开启了80和443端口,可以直接忽略此步。
OK,搞定这些,接下来我们配置服务器。
4
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
没有特殊需要,建议使用默认配置即可,直接回车或输入序号再回车,会出现如下界面:
设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:
询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。
注意:选择PHP 7+版本时需要自行确认PHP版本是否与自己的程序兼容。
输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。本站用了Jemalloc优化。
如果是LNMPA或LAMP的话还会提示设置邮箱和选择Apache:
“Please enter Administrator Email Address:”,需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。再选择Apache版本:
按提示输入对应版本前面的数字序号,回车。
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
如果显示Nginx: OK,MySQL: OK,PHP: OK
表明安装成功。
安装好后,使用如下指令查看nginx配置文件(可能不同系统会安装位置会有所不同):
cat /usr/local/nginx/conf/nginx.conf
你会看到如下内容:
5
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
wget https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip -d /home/wwwroot
mysql -u root -p
create database wordpress;
输入exit退出。
接下来就是修改 nginx 配置文件,如果不会 vim 用 vim ,建议先看下 vim 操作方法,并且对 nginx.conf 进行备份:
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf_bak
操作失误了,直接使用如下指令恢复:
rm /usr/local/nginx/conf/nginx.conf && mv /usr/local/nginx/conf/nginx.conf_bak /usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
nginx -t
nginx -s reload
cd /home/wwwroot && chown -R www wordpress/ && chgrp -R www wordpress/
vim wp-config.php
6
7
域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
https://help.aliyun.com/document_detail/29716.html
8
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
可以理解为提高网站安全,可以一定程度避免网站被运营商劫持贴小广告等。
http://xxx.com这样的就是没有配置SSL,如果是https://xxx.com这样就是配置了SSL。
1、SSL证书购买
阿里云提供免费的证书,可以通过官方渠道购买:
https://www.aliyun.com/product/cas
2、SSL配置
根据网站服务器的不同,配置方式也不相同,nginx、apache、nginx+apache不尽相同。这部分内容就不讲解了,阿里云官方有官方教程。
9
除了购买服务器这个路子之外,其实还可以用 Github 搭建自己的博客,这样的好处就是服务器维护不用你管,你只负责设计主题就够了,非常省心省力,而且还有Hexo 这样的优秀主题供我们使用。
但是缺点也是有的,服务器配置不高,而且有些限制,不够自由,更重要的是,你说哪天 Github 要是被墙了怎么办?我一直有这样的担心。So,就费点劲儿吧。
在实践中成长,莫怕踩坑,学习是一条令人时而郁郁寡欢、时而欣喜若狂的道路。
成长的路上我们共勉前行。
想看什么内容,也欢迎私信我,或者评论区里留言。有三连,我就有动力!
我是 Jack Cui,我们下期见!
推荐阅读
1
2
3
4