使用华为云
关于安全组
安全组是一种虚拟防火墙,具备状态检测和包过滤功能,你可以直接将其理解为防火墙。安全组是一个逻辑上的分组,该分组由一个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 | sudo apt update |
安装apache
1 | sudo apt update |
安装完成之后用如下命令检查是否安装成功
1 | sudo systemctl status apache2 |
如果Debian 10上默认ufw开启了防火墙,你需要将HTTP (80
) 和 HTTPS (443
)端口放开,以便外部能访问apache的web服务。
可以通过以下命令配置防火墙允许Apache服务:
1 | apt-get install ufw //先下载ufw |
浏览器登录查看是否配置成功
再随便写一个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 | RewriteEngine on |
3、mod_rewrite 规则修正符
- 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 | RewriteEngine On |
域名解析
什么是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的博客”这样的说明