搭建博客

使用华为云

关于安全组

安全组是一种虚拟防火墙,具备状态检测和包过滤功能,你可以直接将其理解为防火墙。安全组是一个逻辑上的分组,该分组由一个Region内具有相同安全保护需求,并且互相信任的实例组成。每个实例至少属于一个安全组,在创建时需指定,也可创建后修改。 在该实验中,为了使我们的ECS服务能顺利对外提供服务,我们建立安全组并在创建ECS时指定使用该安全组规则。

参考: https://blog.csdn.net/qq_38998213/article/details/118526550

端口

端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。

端口的分类:

  • 公认端口(Well-KnownPorts): 0-1023 它们紧密绑定(binding)于一些服务
  • 动态端口(Dynamic Ports): 1024-65535 不固定分配某种服务,当进程关闭时,就释放所占用端口
防火墙

功能和作用:

  • 设置内网和外网
  • 控制端口的开放
  • 控制端口的单独进或者出数据
  • ip过滤,控制哪些ip可以访问
  • 控制访问的频率和时间段
  • 控制访问者的上传或者下载流量

ssh登录服务器

直接在cmd或者xshell中输入

1
 ssh root@公网ip      //root指代的是username,一般默认设置为root

然后输入密码就可以登录

配置LAMP

Debian系统没有安装sudo,所以还要先安装一下sudo

1
 apt-get install sudo

安装完成之后配置

配置PHP

1
2
 sudo apt update
 sudo apt install php libapache2-mod-php php-mysql

安装apache

1
2
 sudo apt update
 sudo apt install apache2

安装完成之后用如下命令检查是否安装成功

1
 sudo systemctl status apache2

如果Debian 10上默认ufw开启了防火墙,你需要将HTTP (80) 和 HTTPS (443)端口放开,以便外部能访问apache的web服务。

可以通过以下命令配置防火墙允许Apache服务:

1
2
 apt-get install ufw     //先下载ufw
 sudo ufw allow 'Apache Full'     //再配置防火墙   我失败了,但应该可以弄

浏览器登录查看是否配置成功

再随便写一个PHP文件测试一下PHP配置起没有

算了,用宝塔面板

Debian默认没有yum命令,输入:

1
 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

下载宝塔面板,记得如果端口限制了就在华为云控制台安全组设置一下

进入面板一键安装lamp

安装WordPress

在宝塔上一键安装,傻瓜式部署。。

问题

加了域名之后就打不开WordPress了,之前是WordPress的博客打不开现在是出了宝塔的端口开着其他端口都不能访问。初步怀疑问题有伪静态,域名解析,端口号,PHP配置

域名解析

域名解析需要在购买域名的控制台上,添加解析,注意www和不加www 的都要添加备案

至于dns解析,估计就是域名解析的稳定性或者效率之类的

然后再云服务器的控制台也需要添加域名,宝塔建站的时候也需要将两个域名都添加上否则会没法跳转而导致404。。

伪静态

宝塔上面很好设置伪静态,直接加一个.htaccess文件,里面填好设计好的代码

如果不是宝塔,就是手动在根目录下创建.htaccess文件,然后把代码加进去

注意apache和nginx两个服务器对应的代码和配置方法不同要注意区分;

数据库

数据库手动更改,需要在wp-config-sample.php文件中的账号密码和数据库名字改了,然后文件名改成wp-config.php。注意这个时候打开wordpress会提示数据库损坏或者出错,解决办法是在宝塔中重启mysql。如果是已经创建好的wordpress出现数据库损坏的情况首先把数据库备份再重启或者其他操作

补充知识

伪静态

前置知识:

thinkPHP -> 一个轻量级PHP框架

CMS -> 内容管理系统(帮助使用者以“系统化”的方式“管理”网站的内容)

apache,Nginx -> web服务器软件

什么是伪静态

伪静态是介于动态和静态之间的一种处理方式。因为动态是现实的需求,而动态又对搜索的抓取不利(因为会产生大量不同URL对应一个页面),所以在技术上采用了一种方法就是把动态URL按照正则关系进行映射,映射成类似静态的地址,因此被称之伪静态。(伪静态实质还是动态的)

apache伪静态设置
  • mod_rewrite

1、mod_rewrite 简介和配置 Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

2、mod_rewrite 规则的使用

1
2
3
4
5
6
7
8
 RewriteEngine on 
 RewriteCond %{HTTP_HOST} !^www.php100.com [NC]
 ​
 RewriteRule ^/(.*) http://www.php100.com/ [L]
 ​
 RewriteEngine on
 RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
 RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]

3、mod_rewrite 规则修正符

  1. R 强制外部重定向 2) F 禁用URL,返回403HTTP状态码。 3) G 强制URL为GONE,返回410HTTP状态码。 4) P 强制使用代理转发。 5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。 6) N 重新从第一条规则开始运行重写过程。 7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型 9) NS 只用于不是内部子请求 10) NC 不区分大小写 11) QSA 追加请求字符串 12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1
  • .htaccess

(2) .htaccess 版本伪静态规则(运行环境是Apache,或者是IIS ,ISAPI Rewrite 版本为3.0或者以上)

apache只能用.htaccess来做伪静态,而为什么IIS 的环境也要用到.htaccess呢?这是因为ISAPI Rewrite 版本为3.0或者以上只支持.htaccess的格式。

如果是老手,可以直接用ISAPI Rewrite 版本为3.0把httpd.ini转换成.htaccess格式的。

在网站根目录新建立一个.htaccess的文件,把以下代码放进去即可。

1
2
3
4
5
6
7
8
9
RewriteEngine On

RewriteBase /

RewriteRule ^book/([0-9]+)\.html$ modules/article/articleinfo.php?id=$1

RewriteRule ^list/([0-9]+)_([0-9]+)/$ modules/article/index.php?page=$2&class=$1

RewriteRule ^top/([a-z]+)_([0-9]+)/$ modules/article/toplist.php?page=$2&sort=$1

域名解析

什么是DNS域名解析?

IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。

但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。

其中前两个过程是在电脑主机完成,后面八个利用域名解析服务器

我们购买域名之后域名服务商一般都会送DNS解析服务,在解析域名之前我们要知道自己的服务器的地址。我们购买的主机/服务器都会有IP地址或者CANME地址。

本地解析服务器解析不出来就一步一步向上申请直到解析出来为止

域名解析分类
1
主要分为A记录、MX记录、CNAME记录、NS记录和TXT记录:

1、A记录

A代表Address,用来指定域名对应的IP地址,如将item.taobao.com指定到115.238.23.xxx,将switch.taobao.com指定到121.14.24.xxx。A记录可以将多个域名解析到一个IP地址,但是不能将一个域名解析到多个IP地址

2、MX记录

Mail Exchange,就是可以将某个域名下的邮件服务器指向自己的Mail Server,如taobao.com域名的A记录IP地址是115.238.25.xxx,如果将MX记录设置为115.238.25.xxx,即xxx@taobao.com的邮件路由,DNS会将邮件发送到115.238.25.xxx所在的服务器,而正常通过Web请求的话仍然解析到A记录的IP地址

3、CNAME记录

Canonical Name,即别名解析。所谓别名解析就是可以为一个域名设置一个或者多个别名,如将aaa.com解析到bbb.net、将ccc.com也解析到bbb.net,其中bbb.net分别是aaa.com和ccc.com的别名

4、NS记录

为某个域名指定DNS解析服务器,也就是这个域名由指定的IP地址的DNS服务器取解析

5、TXT记录

为某个主机名或域名设置说明,如可以为ddd.net设置TXT记录为”这是XXX的博客”这样的说明