分类目录归档:未分类

基于Ubuntu/Debian系统,安装LNMP 2024-1-6

前缀、文档修改记录

2024-01-06 初始化编辑此文章
2024-02-20 更新一次

此博客未更新完成~~~

章节1、需求描述

LNMP是比较受欢迎的博客架构模式,本次教程,系统环境选择Ubuntu/Debian系列,该系列有比较成熟的软件库,安装Nginx、数据库、PHP都很便捷。Nginx、MySQL/MariaDB这个一般我就用系统自带的版本,PHP编译安装PHP7.4版本,不用最新版本,以便满足兼容性。

Nginx可选自己编译安装最新的版本。

有条件的使用站库分离的架构,数据库放到大厂的云服务器上,会比较靠谱。

章节2、安装步骤

2.1、安装Nginx

root@SERVER:~# apt update
root@SERVER:~# apt install nginx

2.2、安装MySQL/MariaDB

root@SERVER:~# apt install mysql-server

初始化数据库的安全设置,最重要的就是设置数据库用户root的超级密码,务必保存好密码

root@SERVER:~# mysql_secure_installation

设置用户的权限

root@SERVER:~# mysql -u root -p

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

mysql> FLUSH PRIVILEGES;

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

2.3、安装PHP

该源包含了php-fpm这个包,需要补上

root@SERVER:~# add-apt-repository universe
root@SERVER:~# apt install php-fpm php-mysql

章节3、Nginx配置文件

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name your_domain;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

2.4、测试

测试Nginx、PHP,创建文件 /var/www/html/info.php

<?php
phpinfo();
?>

测试连接

http://your_server_domain_or_IP/info.php

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

宽带里获取到的IPv6地址 2022-10-23

上海电信宽带里,获取到的IPv6地址

先看看IPv4地址的信息

协议: DHCPv6 客户端
分发前缀: 240e:128:7139:ba00::/56
地址: 240e:12f:5181:13a9:c38b:4682:1ba1:66a6/64
网关: fe80::ce1a:faff:feed:5540
DNS 1: 240e:58:c000:1000:116:228:111:118

1、协议是 DHCPv6 Client 客户端

2、DHCPv6-PD 分发前缀 240e:128:7139:ba00::/56 ,这里需要知道,都是十六进制的符号,每个:分隔的,比如240e,长度都是 16 bit位

IPv6支持缩写的表达,比如240e:128:7139:ba00::/56,中的128,其实完整写法是 240e:0128:7139:ba00::/56

也支持连续0的缩写,如240e:0128:7139:ba00:0000:0000:0000:0001可缩写为 240e:128:7139:ba00::1

故而,240e:128:7139:ba00::/56 表示的网络为 240e:128:7139:ba

/56 可供分 16个/60的子网,/56 可供分 256个/64的子网,不同子网可以用来承载不同的业务

通常的分配规则为

/48 分配给企业宽带客户
/56 分配给家庭宽带客户,小型办公宽带客户
/64 分配给家庭路由器终端

/126 特殊,一般用于点对点链路,类似于IPv4中为点对点链路分配的/30,专线类业务

3、IPv6地址 240e:12f:5181:13a9:c38b:4682:1ba1:66a6/64

根据刚刚的缩写,它完整的表达应该为

240e:012f:5181:13a9:c38b:4682:1ba1:66a6/64

其中,240e,表示电信宽带

# 常见运营商的IPv6前缀
中国电信IPv6前缀 240e::/20
中国联通IPv6前缀 2408:8000::/20
中国广电IPv6前缀 240a:4000::/21
中国移动IPv6前缀 2409:8000::/20

路由器下方的电脑/手机设备,如果配置正确,可以获取到IPv6的公网地址

inet6 240e:128:7139:ba00::859/128 scope global dynamic noprefixroute 
inet6 240e:128:7139:ba00:4234:c25d:bf20:8337/64 scope global temporary dynamic 
inet6 240e:128:7139:ba00:ac60:cd0d:6df6:b994/64 scope global dynamic mngtmpaddr noprefixroute
IPv6地址作用域和地址分类
IPv6地址指定给接口,一个接口可以指定多个地址。
IPv6地址有作用域:
link local 地址 本链路有效
site local 地址 本区域(站点)内有效,一个site通常是个校园网
global 地址 全球有效,即可汇聚全球单播地址

IPv6地址分类:
unicast 单播(单点传送)地址
multicast 组播(多点传送)地址
anycast 任播(任意点传送)地址

IPv6没有定义广播地址,其功能由组播地址替代
::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。
::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的localhost(127.0.0.1),ping locahost可得到此地址。
2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。
2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址,属于单播地址。
3ffe::/16 早期开始的IPv6 6bone试验网 地址,属于单播地址。
fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发以fe80开头的地址。
ff00::/8 组播地址。
::A.B.C.D 兼容IPv4的IPv6地址,其中<A.B.C.D>代表IPv4地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。
::FFFF:A.B.C.D 是IPv4映射过来的IPv6地址,其中<A.B.C.D>代表IPv4地址,例如 ::ffff:202.120.2.30 ,它是在不支持IPv6的网上用于表示IPv4节点。
ip address add   # 此命令用于新增ip地址

option:

dev IFNAME:要将地址添加到的设备的名称

local ADDRESS (default):ip地址,地址的格式取决于协议

peer ADDRESS:点对点接口的远程端点的地址。 同样,ADDRESS后面可以跟一个斜杠和一个十进制数,对网络前缀长度进行编码。 如果指定了对等地址,则本地地址不能具有前缀长度。 网络前缀与对等方而不是与本地地址相关联。

broadcast ADDRESS:接口上的广播地址。 可以使用特殊符号“ +”和“-”代替广播地址。 在这种情况下,广播地址是通过设置/重置接口前缀的主机位得出的。

label LABEL:每个地址都可以用标签字符串进行标记。为了保持与Linux-2.0网络别名的兼容性,此字符串必须与设备名称一致,或者必须以设备名称的前缀后跟冒号

scope SCOPE_VALUE:此地址有效的区域的范围。可用的作用域列在/etc/iproute2/rt_scopes文件中。预定义的范围值包括:

global:地址全局有效

site:地址是站点本地地址,即在该站点内有效

link:该地址是本地链接,即仅在此设备上有效

host:地址仅在此主机内有效

valid_lft LFT:此地址的有效生存期;请参阅RFC 4862第5.5.4节。当它过期时,该地址将被内核删除。默认为“永远”

preferred_lft LFT:该地址的首选生存时间; 请参阅RFC 4862的5.5.4节。到期后,该地址将不再用于新的传出连接。 默认为永远

home:(仅IPv6)将此地址指定为RFC 6275中定义的“本地地址”

mngtmpaddr:(仅IPv6)代表“隐私扩展”(RFC3041)使内核将以此地址创建的临时地址作为模板进行管理。 为了使它生效,必须将use_tempaddr sysctl设置设置为大于零的值。 给定地址的前缀长度必须为64。此标志允许在手动配置的网络中使用隐私扩展,就像无状态自动配置处于活动状态一样。内核会从原本的IPv6地址计算生成一个临时地址。在连接远程服务器时,系统会优先选择这个地址以隐藏原来的地址

nodad: (仅限IPv6)添加此地址时不执行重复地址检测(RFC 4862)

noprefixroute:不要为添加的地址的网络前缀自动创建路由,并且不要在删除地址时搜索要删除的路由