linux網路及服務配置基礎

来源:https://www.cnblogs.com/zhaofahao/archive/2022/08/18/16599907.html
-Advertisement-
Play Games

配置IP地址 查看IP地址:ifconfig 進入:vim /etc/sysconfig/network-script/ifcfg-網卡名 ONBOOT=yes BOOTPROTO=yes 在最後增添:IPADDR=IP地址 NETMASK=子網掩碼 ifup 網卡名(重啟網卡) ping IP地址 ...


配置IP地址
查看IP地址:ifconfig
進入:vim /etc/sysconfig/network-script/ifcfg-網卡名
ONBOOT=yes
BOOTPROTO=yes
在最後增添:IPADDR=IP地址
NETMASK=子網掩碼

	ifup  網卡名(重啟網卡)
	ping IP地址  即可

	iptables -L 查看防火牆
	iptables -F 關閉防火牆

網路配置基礎
一、網路配置
1、主機名
查看:hostname
臨時修改:hostname FQDN(完全合格功能變數名稱)
永久修改:/vim/etc/sysconfig/network
NETWORKING 啟動IPv4的主機名設置
HOSTNAME 更改主機名

	預設主機名:localhost.localdomain
	NetBIOS協議:網路基本輸入/輸出系統
2、網卡 
	查看:ifconfig
	臨時修改:ifconfig ech1   172.16.1.100 netmask 255.255.255.0 
	ONBOOT=no			網卡是否啟動
	NM_CONTROLLED=yes		網卡守護進程	(service NetworkManager stop)
	BOOTPROTO=static			網路參數獲取方式	(static手動配置dhcp自動獲取方式)
	IPADDR=172.16.1.2			IP地址
	NETMASK=255.255.0.0		子網掩碼
重啟網卡:service network restart
      禁止:ifdown eth0(網卡名)
      啟用:ifup eth0(網卡名)
3、網關和路由
	查看:route -n

	臨時修改:
		route add default gw 192.168.3.1	添加網關
		route add -net 192.168.2.0/24 gw 192.168.3.1  添加路由
	
		route del default gw 192.168.3.1	刪除網關
		route del -net 192.168.2.0/24		刪除路由
		
	永久修改:
		進入:vim /etc/sysconfig/network-scripts/ifcfg-eth1
		添加:GATEWAY=網關
4、DNS服務:將功能變數名稱轉換成IP地址
		進入:vim /etc/sysconfig/network-scripts/ifcfg-eth1
		添加:DNS1=
		          DNS2=
		查看:nslookup
5、本地解析文件(主機映射)
	修改:vim /etc/hosts
		IP      功能變數名稱   
	    192.168.1.3    www.yyy.con
	(迴環:檢測自己的網卡是否能運行)
	   及時生效,無需重啟
	hosts和DNS的區別
		系統優化使用/etc/hosts文件中內容解析功能變數名稱
		/etc/hosts文件僅對本主機生效
		    
6、測試命令
	ping	用來測試兩台主機之間的連通性
		-c	指定ping的次數
		-i	指定ping的時間間隔
		w	指定等待時間
	nestat	列出軟體詳細信息列表
		-a	顯示ping的次數
		-n	數字形式顯示地址
		-p	顯示PID
		-t	顯示TCP相關埠信息
		-u	顯示UDP相關埠信息
		-l	顯示詳細列表信息
	traceroute	(追蹤命令) 格式:traceroute  目標主機
		測試從當前主機到目的主機之間經過的網路節點
		追蹤到目標網路經過多少設備
	arp(地址解析協議)
		將IP地址解析為MAC地址
	nmape	

二、遠程管理
1、概述
SSH協議:為客戶機提供安全的shell
服務名:sshed
埠號:22
配置文件:
伺服器端/etc/ssh/sshd_config
作用:提供安全加密的與遠程連接
2、配置項
listenaddress 監聽地址
permitrootlogin 是否允許root用戶遠程登陸
permitemptypasswords 是否允許空密碼登錄
maxauthtries 最大登錄次數
logingracetime 登錄凍結時間
身份驗證方式:
PasswordAuthtication 用戶名/密碼驗證,預設方式
PubkeyAuthentication yes 密鑰對
AuthorizedKeysFile .ssh/authorized_keys 密鑰庫
3、功能模塊
ssh 用戶名 @IP地址 遠程安全登錄
scp 文件名 用戶名 @IP地址:目的地(目錄) 遠程安全複製文件

	ssh -p 埠號  用戶名@IP地址
	scp 安全文件複製
			下載:
				scp -P 埠號 用戶名@IP地址:/目錄  /本地文件
			上傳:
				scp -P 埠號 本地文件 用戶名@伺服器地址:/伺服器目錄
	sftp	安全的FTP傳輸
		sftp  --oPrt=埠號 用戶名@服務地址
		上傳:put
		下載:get
4、密鑰對驗證
	1、在客戶端生成密鑰對,公鑰和私鑰		
	2、把公鑰文件上傳給伺服器
	3、在伺服器端將公鑰文件導入到密鑰庫里
	4、測試

	步驟:
		1、在客戶機和用戶機各創建一個用戶,設置密碼,並都切換至用戶
		2、在客戶機上用ssh-keygen -t rsa命令生成密鑰對
		3、將公鑰(id_rsa.pub) 用scp id_rsa.pub 用戶名@伺服器地址:/伺服器目錄   命令上傳到用戶機
		4、到用戶機上創建用戶家目錄 	
		5、進入vim /etc/ssh/sshd_config      更改:PasswordAuthtication	用戶名/密碼驗證,預設方式
						 PubkeyAuthentication yes	密鑰對
		6、將公鑰文件導入剛剛創建的目錄中			
		7、到從伺服器向主伺服器,遠程登陸檢測

一、DHCP服務
1、DHCP 動態主機控制協議
2、DHCP的作用: 分配網路參數,提供集中管理
提高地址利用率,解決IP地址不夠用的問題
減少管理和維護成本
3、DHCP的優勢:
小型網路,可以使用路由器/交換機;中大型網路,使用伺服器
路由器/交換器的DHCP功能是附加功能,若因流量大,導致路由器/交換器功能失效,則得不償失
伺服器配置更加簡單、高效
伺服器遷移有優勢
4、DHCP的原理
①、客戶端尋找伺服器
客戶端廣播發送DHCPdiscover包(群播),尋找DHCP伺服器
客戶端數據包的源地址為0.0.0.0,目標地址為255.255.255.0(MAC地址)
客戶端等待一秒無響應,發送第二次,9秒無響應,發送第三次,13,16
②、伺服器提供地址信息
監聽到客戶端的包,用MAC地址,回應客戶端DHCPoffer包(回應,單播)
offer提供IP地址、租約信息等簡單參數
③、接受並廣播
客戶端接受最先到達的offer包
客戶端向網路發送request包(廣播自己已有地址,請求所有網路參數)
request告知網路中所有伺服器,該客戶端接收了那個offer

		發送檢測包,檢測該IP地址是否有人使用,若占用,則拒絕該offer,重新discover
	④、伺服器確認
		接受客戶端的request包後,向客戶機發送DHCPack包,包含所有的網路參數
	⑤、客戶端重新登錄
		不需要SDHCPdiscover,直接發送DHCPrequest,請求之前的參數
	⑥、伺服器確認
		可以使用,則分配DHCPask包確認網路參數
		不可使用,則分配DHCPnack拒絕客戶端,客戶端重新發送DHCPdiscover
	⑦、更新租約
		客戶端在租約一半時,向伺服器發送DHCPrequest包,請求更新租約
		
		客戶機在到一半時(75%)發送DHCPrequest包,請求更新

二、配置
1、基本配置
軟體:dhcp
埠:UDP67 接受下級客戶端的分配請求
UDP68 向客戶端發送請求成功或失敗的結果
服務名:
dhcpd DHCP的主程式
dhcprelay DHCP中繼服務
配置文件:
/etc/dhcp/dhcpd.conf 主配置文件
/etc/sysconfig/dhcrelay 中繼配置文件
/usr/share/doc/shcp-4.1.1/dhcpd.conf.sample 主配置文件模板
2、配置項
subnet 網段聲明
host 主機聲明

中繼配置
	跨網段分配IP地址

一、DNS
1、概念
DNS 功能變數名稱系統
2、作用
功能變數名稱解析
3、解析方式
正向解析:
功能變數名稱解析成IP地址
反向解析:
IP地址解析成功能變數名稱
4、功能變數名稱
baidu.con 功能變數名稱
www.baidu.com FQDN

5、組織
	IANA
	ICANN	互聯網名稱與數字地址分配機構
6、功能變數名稱的發展
	①、功能變數名稱通過維護文件伺服器上的hosts文件解析
	②、通過計劃任務,定時下載hosts
	③、搭建功能變數名稱伺服器
	④、搭建分散式存儲

	缺點:
		相應時間長,管理相對麻煩
	優點:
		管理高效,命名簡單
7、功能變數名稱分類
	www.zol.com.cn.
	最右邊為根域、一級功能變數名稱、二級功能變數名稱、三級功能變數名稱、主機名
	一級域:組織域,國家域
8、工作方式
	遞歸查詢:
		必須使用準確的查詢結構回覆客戶機
		若DNS伺服器本地沒有存儲該信息,那麼該伺服器會詢問其他伺服器
		並將結果返回給客戶機
	迭代查詢:
		伺服器會向客戶機提供其他能夠解析請求的DNS伺服器地址告訴客戶機
		另一臺DNS伺服器地址
		客戶機在向DNS伺服器發送請求,依次迴圈直到返回結果

9、伺服器類型
	主功能變數名稱伺服器
	從功能變數名稱伺服器
	緩存功能變數名稱伺服器
	分離解析功能變數名稱伺服器

二、配置
1、軟體:bind
2、服務名:named
3、埠:
UDP 53 數據通訊(功能變數名稱解析)
TCP 53 數據同步(主從複製)
4、配置文件:
主配置文件:/etc/named.conf 伺服器運行參數
區域文件:/etc/named.rfc1912.zones 當前DNS伺服器所解析的區域配置
數據文件:/vat/named/xx.xx 功能變數名稱和IP地址對應關係
正向解析數據文件
反向解析數據文件
5、配置項
SOA 起始授權記錄

6、從伺服器的壓力
	減輕主伺服器的壓力
	從伺服器拷貝文件

一、FTP
1、概述
FTP:文件傳輸協議,實現文件共用

	NFS:網路文件系統,(可文件共用)
	SMB:服務信息塊,(可文件共用)
2、鏈接類型
	控制鏈接(命令連接):
		用來發送FTP的命令信息	TCP21
		特點:客戶端發送請求,伺服器響應
		         若沒有設置超時時間,那麼控制連接將一直保持	
	數據連接:用來上傳下載數據	TCP20
		特點:按需打開。按需關閉,必須與命令連接相關聯
		         有可能同時出現多條數據連接,如mget
3、工作模式:
	主動模式(主動發送給客戶機)
		伺服器端:
			控制連接:21埠
			數據連接:20埠
	被動模式(等客戶機自己來拿)
		客戶端:
			控制連接:21埠
			數據連接:隨機埠(1024-65535)
4、驗證類型:
	匿名用戶:不需要用戶名和密碼
	本地用戶:即系統用戶,通常全程是明文傳輸,因此特定系統用戶

應該禁止使用本類型
虛擬用戶:通過虛擬出來的用戶名登錄,配置相對複雜,通過映射
系統用戶進行登錄
二、配置
1、軟體
伺服器端:
proftp、pureftp、vsftpd(體積小,安全性,本機自帶)
server-U、IIS、fillezilla
客戶端:
ftp、lftp
gftod、flashFXp、cuteftp
2、服務名:vsftpd
3、主目錄:/etc/vsftpd
4、主配置文件:/etc/vsftpd/vsftpd.conf
5、用戶控制文件:/etc/vsftpd/user_list
/etc/vsftpd/ftpusers
6、配置項

三、實驗
匿名用戶
用戶名:fig或anonymous

	230 Login successful		登錄成功
	550 Permission denied	許可權拒絕
	553 Could	not create fille	不能創建目錄
	操作許可權由FTP許可權和目錄許可權組成。

	預設目錄:
		登錄目錄:/var/ftp
		操作目錄:/var/ftp/pub
			/var/ftp自定義目錄
		
	FTP許可權:anonymous_enable=YES	啟用匿名用戶
		anon_upload_enable=YES	允許匿名用戶上傳許可權
		anon_nkdir_write_enable=YES	允許創建目錄
		anon_other_write_enable=YES	允許其他寫入操作(重命名,刪除)				
2、本地用戶
	用戶名:系統用戶名
	預設目錄:登錄用戶的家目錄
	FTP許可權:local_enable=YES	啟用本地用戶
		local_umask=022	本地用戶反碼
		local_root=/目錄	更改預設目錄
		chroot_local_user=YES	禁錮家目錄	chroot_local_user=YES   chroot_list_enabble=YES	不能同時打開
		chroot_list_enabble=YES	禁錮家目錄,不能切換用戶(第97行,必須把99行也開啟)	
		chroot_liat_file=/etc/vaftpd/chroot_list  該文件中的用戶不能更改目錄(將用戶添加其中)	/etc/vaftpd/chroot_list目錄需要自己創建

		userlist_enable=YES
		userlist_deny=YES	拒絕userlist文件中的用戶登錄FTP伺服器

		userlist_enable=YES
		userlist_deby=NO	僅允許user_list文件中的用戶登錄FTP伺服器

		ftpusers	拒絕ftpusers文件中的用戶登錄FTP伺服器,及時生效,無論user_list如何設置
	本地用戶使用被動模式
		pasv_enable=YES	啟用被動模式
		pasv_min_port=2001 最小從哪開始
		pasv_max-port=2005 最大到哪截至		
		
3、其他配置項
	wriye_anable	是否啟用寫入許可權
	download_enable	是否允許下載
	max_clients	限制併發客端連接數
	max_per_ip	限制同一個IP的併發數量
	dirmessage_enable	允許配置目錄提示信息
	idle_session_timeout	設置空閑連接超時
	ftpd_banner	FTP的歡迎提示信息
	banner_file	FTP的歡迎提示文件
4、虛擬用戶
	1、創建虛擬用戶

	2、創建虛擬用戶映射的系統用戶

	3、建立支持虛擬用戶的PAM認證文件

	4、啟用虛擬用戶

	5、為不同虛擬用戶創建獨立配置文件

5、

一、概述
1、文件共用
NFS 網路文件系統
SMB 服務信息塊
Netbios 網路基本輸入/輸出系統 API 介面

	SMB更改為CIFS	公共互聯網文件系統
	SMB-->samba
2、SAMBA特點
	跨平臺
	支持線上編輯,無需下載
	使用SMB和CIFS協議

二、配置
1、服務
nmbd:通過netbios協議,實現電腦名的解析 UDP137 UDP138
smbd:實現文件共用 TCP139 TCP445
2、軟體
samba
3、主目錄
/etc/samba
4、主配置文件
/etc/samba/smb.conf
5、配置項
security 安全級別
share 不需要提供用用戶名/密碼
user 需要提供用戶名/密碼,由本地samba伺服器驗證
server 需要哦提供用戶/密碼,可指定其他主機或另一臺主機samba服務驗證
domain 需要提供用戶/密碼,由域控制器進行身份用驗證

	secueity=share

三、實驗
1、匿名用戶訪問
[share]
comment 描述信息
pash 真實路徑
public 允許所有人訪問

	smbclient -L // 伺服器地址	查看
	smbclient // 伺服器地址/共用名 	登錄
2、本地用戶訪問
	security=user
	
	[share]
		comment		描述信息
		path		真實路徑
		read only	所有人只讀訪問

	useradd		創建系統用戶
	smbpasswd	管理samba用戶
		a	添加
		x	刪除
		d	禁用
		e	啟用
	pdbedit -L	查看samba用戶列表
	
	smbclient -U zhangsan -L // 192.168.1.250
	smbclient -U zhangsan // 19255.168.1.250/zhangsan	


3、Windos訪問	

4、許可權控制
	read only	設置只讀訪問
	writable	設置寫入許可權
	write list	設置寫入列表
	valid users	設置合法用戶
	browseable	是否網路可見
5、訪問控制
	hosts allow	允許個別,拒絕所有	192.168.1.1 192.168.1.
	hosts deny	允許個別,拒絕所有	
			不能同時啟用,只能啟用一個
6、用戶映射
	vim /etc/samba/smbusers
			zhangsan = zhaosi
	username map = /etc/samba/smbusers
7、映射網路驅動器

LAMP平臺
一、概述
1、LAMP
L Linux 提供穩定的底層平臺
A apache 網站伺服器,提供網站服務
M mysql 資料庫伺服器,提供資料庫服務
P PHP 網站開發語言,提供動態網站程式解析
2、LAMP架構
單層架構、雙層架構,三層架構
3、網站架構
動態網站apache
靜態網站nginx
二、LAMP平臺
1、環境
①、編譯環境
gcc
②、關閉RPM服務
service httpd stop(關閉)
chkconfig htttpd off(關閉開機自啟)

		service mysqld	stop(關閉)
		chkconfig mysqld off(關閉開機自啟)
	③、關閉防火牆,seLinux
			service iptables stop
			chkconfig iptables off

			setenforce 0
			vim /etc/sysconfig/selinux
				selinux=disable		
	④、關閉不必要的服務
		
	⑤、硬碟空間
2、安裝
	①、將lamp.iso載入進光碟機,將其內容拷貝至/usr/src中,然後將光碟

更換為系統盤,配置yum

一、概述
1、協議
http:超文本傳輸協議
html:超文本表示語言

	url:統一資源定位
		列如:http//www.jx.com:80/index.html
	
2、安裝
	源代碼
		
	RPM

3、相關文件
	主配置文件
		源代碼:/usr/local/apapche2/etc/http.conf
			/usr/localapache2/etc/extra/(補全)*/conf
		RPM:
			/etc/htttpd/conf/httpd.conf
	預設首頁位置:
		源代碼:/usr/local/apapche2/htdocs/
		RPM:/var/www/html
	日誌保存位置:
		源代碼:/usr/local/apapche2/logs
		RPM:/var/log/httpd
	
	源代碼主配置文件:/usr/local/apapche2/etc/http.conf中各段意思
		31行 ServerRoot “/usr/local/apache2”	Apache安裝路徑
	  	52行 Listen 80     Apache監聽埠號
		66行 LoadModule       載入模塊(模塊可拆卸)
		150行<IfModule unixd_module> 對某一個模塊加一些選項,參數
		181行ServerAdmin	管理員郵箱
		190行ServerName		指定當前網站功能變數名稱
		197行<Directory>	對某一個目錄設置訪問規則
			AllowOverride none	許可權開關
			Roquire all denied	拒絕所有人訪問
		215行<Directory "/usr/local/apache2/htdocs">  對首頁文件的訪問區域
		228行Options Indexes FollowSymLinks	設置目錄的選項
		249行Require all granted	允許所有人訪問
		247行<IfModule dir_module>	目錄模塊
			DirectoryIndex	聲明首頁文件的預設名
		255行<Files ".ht*">	文件配置區(以.ht開頭的文件是許可權文件)
		266行ErrorLog “logs/error_log" 錯誤日誌
		295行Customlog ”logs/access_log"正確日誌
		273行LogLevel warn	日誌級別
		275行<IfModule log_config_module> 日誌格式
		304行<IfModule alias_module>	別名模塊(給一個較長的名字起一個較短的名稱)

二、應用
1、目錄與許可權
indesxes 若首頁目錄中,找不到首頁文件,則列出該目錄下所有內容
FollowSymLinks 允許首頁文件是鏈接文件

2、訪問控制
	僅允許192.168.1.0/24網段的主機訪問
		<requireall>
			requireall all granted
			requireall ip 192.168.1.0./24
		</ requireall>
	
		僅拒接192.168.1.0/24網段主機訪問
		<requireall>
		 	requireall all granted
			requireall not ip 192.168.1.0/24
		</requireall>

3、身份認證
	authname	驗證信息
	authtype	驗證類型
	authserfile	驗證文件
	require vaild—user	合法用戶
	
	htpasswd -c	驗證文件路徑 用戶名 	添加驗證用戶
	htpasswd -m	驗證文件路徑用戶名	追加驗證用戶
4、虛擬主機
	定義:在一臺物理伺服器上,構建多個網站服務,並同時運行,互不幹擾

	基於功能變數名稱
	<VirtualHost *:80>
			DocumentRoot "/usr/local/apache2/htdocs/webl"
			ServerName web1.jx.com
	</VirtualHost>
		
	<VirtualHost *:80>		
			DocumentRoot”/usr/local/apache2/htdocs/web2“
			ServerName web2.jx.com
	</VirtualHost>
	
	基於IP
	創建虛擬IP	ifconfig eth0:0 192.168.1.250 netmask 255.255.2555 
		
	基於埠
		listen 8000 
5、個人主頁
	定義:在網站伺服器上,為用戶單獨分配一個頁面
6、地址重寫

LNMP
一、概述
1、區別
①apache
模塊化、功能較全
對動態網站支持較好,與PHP相容性好
地址重寫與加密功能強大

		配置相對複雜
		同步阻塞型應用
	②nginx
		模塊相對較少,高性能模塊出色
		對靜態網站支持較好
		反向代理與負載均衡功能強大
		配置相對簡單
		非同步非阻塞型應用

    消息通信機制:
		 同步
			發出“調用”時,沒有結果之前,該調用就不返回

一旦返回,即可得到返回值

		 非同步
			調用發出以後,該調用就直接返回,沒有返回結果
     程式等待調用結果的狀態
		阻塞
			調用結果返回之前,當前線程會被掛起,只有得到結果

之後才會返回
非阻塞
不能立刻得到結果之前,該調用不會阻塞當前線程

	2、網站的請求流程
		①用戶向網站發起訪問,請求首先到達網卡上。由網卡把數據傳遞到內核
		②這個請求數據到達內核之前,由內核將請求數據解封裝,得到

請數據,得知請求的是網站伺服器,將數據發給網站伺服器。
③網站伺服器收到請求數據之後,發現客戶端要求的是index.html的首頁文件
就會向內核發起請求
④內核發現,網站要訪問一個頁面文件,這個頁面文件在硬碟里存放、
內核通過驅動程式就會向硬碟發起訪問
⑤內核從硬碟中取回想要的文件,並且存放在緩存中,然後通知網站網頁文件
已經準備好
⑥網站的線程就會向內核發起訪問,將內核緩存中的首頁文件,放到網站中的緩存區域中
⑦然後網站會向用戶進行響應,並且將首頁文件交還給內核,告訴內核就使用這個文件回覆客戶端,
內核收到後,將數據進行封裝,從網卡發送給用戶。

	3、總結
		若是處理靜態頁面,尤其是高併發場景,適合使用nginx
		若是處理動態頁面,尤其是追求穩定性,則適合使用apache
	4、LNMP
		a、nginx作用
			①、充當網站伺服器
				nginx轉發給後端的apache處理動態頁面
				通過PHP-FPM模塊
			②、充當代理伺服器
				正向代理
				反向代理
	

	
processes	核心數
connections	併發數
核心數*併發數=最大訪問量
mime.types	應用程式的配置文件
keepalive_timeout 連接超時時間
sendfile on	下載

一、Nginx
1、配置
配置項 nginx apache
虛擬主機 server virtualhost
監聽埠號 listen listen
主機名稱 server_name servername
配置區域 location directory、file
首頁文件位置 root documentroot
預設首頁名稱 index directoryindex
認證信息 auth_basic、auth_basic_user_file
authname、authype
訪問控制 允許 allow required all granted
拒絕 deny required all denied
2、虛擬主機

一、數據同步
1、數據備份:cp、mv、tar、dd、mount
2、RSYNC
增量的備份工具
同步指定目錄及子目錄的內容,還可保留文件屬性
3、類型
SSH
RSYNC

	客戶端-->發起端
	伺服器-->同步源

二、搭建同步源
1、基於SSH的同步源
同步源:
創建測試目錄
創建測試文件
創建測試用戶
設置許可權
發起端:
創建同步目錄
創建測試文件
測試
下行同步:
rsync -avz 伺服器用戶@伺服器IP地址
:伺服器目錄/文件 /本地路徑
上行同步:
rsync -avz /本地路徑/本地文件 伺服器用戶
@伺服器地址:伺服器目錄
2、基於RSYNC的同步源
同步源:
創建測試目錄
創建測試文件
創建配置文件
創建密碼文件
開啟服務
發起端:
創建同步目錄
創建測試文件
測試
rsync -avz 伺服器用戶@伺服器地址::共用名/ 本地目錄
rsync -avz rsync://伺服器用戶@伺服器地址/共用名 /本地用戶
三、免密碼驗證
1、基於SSH的同步源
ssh-keygen -t rsa
ssh-copy-id 伺服器用戶@伺服器地址
2、基於rsync的同步源
export RSYNC_PASSWORD=123456
四、inotify
inotifywait
-m 持續監控
-r 遞歸
-q 簡化輸出
-e 監控的事件類型 modify create delete move

一、概述
1、郵件角色
MTA 郵件傳輸代理 伺服器中接受郵件 sendmail、
exchange、postfix
MUA 郵件用戶代理 替用戶收發郵件,outlook、Foxmail
MDA 郵件分發代理 將收到的郵件保存至郵箱 maildrop
MRA 郵件檢索代理 替用到郵箱收郵件 dovecot
2、郵件認證
開放式中繼(openrelay)
SASL 簡單驗證安全層
3、協議
SMTP 簡單郵件傳輸協議 TCP25發郵件的埠 SMTOPS 465
POP3 第三版郵局協議 TCP110 POP3S 995
IMAP4 第四版互聯網郵件訪問協議 TCP143 IMAP4S 993
POP3將伺服器的郵件下載到本地處理
IMPA4與服器交互後,在伺服器端處理
4、郵件地址
郵件用戶@郵件域
mail.jx.com
[email protected]
二、郵件伺服器
1、MTA
sendmail
qmail
postfix
2、配置
主目錄:/etc/postfix
配置文件:master.cf
main.cf

		myhostname	郵件伺服器主機名
		mydomain	郵件域
		maorigin	設置允許發送郵件的用戶的郵件域
		mydestination	設置允許接收郵件的用戶的郵件域
	
		home_mailbox	設置郵箱目錄
3、測試
	發郵件
		telnet mail.extmail.org 25
		
		helo mail.extmail.org
		mail from:發件人地址
		rcpt to:收件人地址
		data
		郵件內容
		.	內容結束
		quit
	收郵件:
		telnet mail.extmail.org 110
		
		user lisi
		pass 123

		list 顯示郵件列表
		retr 查看指定郵件內容

【資料庫】

一、概述
1、資料庫
資料庫(database)是按照數據結構來組織,存儲和管理數據的倉庫
2、資料庫管理系統
a、定義
將能夠操控和管理資料庫的大型軟體,稱之為數據路管理系統,
通過它創建、使用和維護資料庫,保證資料庫中數據的安全性和完整性,簡稱DBMS(database management system)
3、類型
mysql、oracle(類Linux)、SQL Server、Redis、mongoDB等
關係式資料庫、mysql
SQL Server 閉源、對Linux相容性不好,適合安裝在Windows系統上
Oracle 閉源、價格昂貴、對Linux相容性好、不適合用於中小型企業中
mysql 開源、靈活、版本眾多,更具有代表性,主要應用於中小型企業

4、資料庫與文件系統的區別
	a、數據冗餘和不一致性
	b、數據訪問難度
	c、數據格式
	d、完整性
	e、併發訪問
	f、安全性問題
5、資料庫模型
	a、層次模型
		按照層次結構的形式組織資料庫數據的模型
		缺點:數據冗餘
		典型:IBM	IMS資料庫
	b、網狀模型
		按照網狀結構的形式組組織資料庫數據的模型
		缺點:數據量增加,網狀結構越發複雜,後期維護成本過高
		典型:美國資料庫系統語言協會	DBTG資料庫
	c、關係模型
		按照行和列結構,組成資料庫數據的模型
		以關係或表作為描述數據的基礎,擁有嚴格的數學理論基礎
		
		以關係模型構建的資料庫關係管理系統稱之為關係資料庫關係系統,簡稱RDBMS
6、數據模型
	陳品山	實體關係建模 	陳氏表示法,陳氏模型 也稱之為E-R模型
		關係三要素:實體、聯繫、屬性
			實體:數據對象,客觀存在的事物
			聯繫:多個實體之間的關聯關係
			屬性:實體的某一個特性
			
7、SQL語句
	結構化查詢語言
	【埃德加 柯德 關係式資料庫之父】
	【唐-錢伯林   SQL語句之父】
	1979年,甲骨文的ORACLE公司推出關係式資料庫產品 ORACLE
	1980年,IBM推出關係式資料庫SYSTEM/38
	1983年,IBM推出DB2
	ANSI 美國國家標準協會,推出統一SQL標準
8、SQL類型
	SDL	數據操控語言	操作資料庫中的數據
		如:select、insert、update、delete
	DDL	數據描述語言	建立資料庫、定義數據關係
		如:create、alter、drop等
	DCL	數據控制語言	控制資料庫組件的許可權
		如:grant、revoke

一、資料庫結構
1、資料庫結構
a、文件的邏輯架構
上層:文件
底層:二進位形式的數據
中間層:文件系統
b、資料庫的邏輯架構
上層:數據表
底層:數據文件
中間層:存儲引擎
2、存儲引擎
a、概念
定義:存儲數據、保存數據、更新數據等的實現方法
b、musql的存儲引擎
1、MyISAM
特點:Mysql的預設存儲引擎,最為常用。較高的寫入、
查詢速度,不支持事務(行級鎖,頁級鎖)等功能
事務:SQL語句的批處理(要麼去全部成功,要麼全部失敗)
鎖:
行級鎖:對單獨一行加鎖,效率低,衝突少 需要:INNQDB 存儲引擎
表級鎖:鎖定整張表,效率高,衝突少 需要:MyISAM 存儲引擎
頁級鎖:鎖定相鄰的多行記錄,折中方案 需要: DBD 存儲引擎
約束:
域約束:約定的數據的類型
外鍵約束:通過其他數據進行約束的類型
索引:對資料庫表中一列或多列的值進行排序的一種結構,
使用索引可快速訪問的特定信息。
2、InnoDB
MyISAM的升級版,提供了事務、行級鎖,外鍵約束等功能
3、Memory
只存在於記憶體中,通過hash(散列)來存取數據,速度最快,
通常無法持久保存。
3、數據的存儲和查詢
a、存儲管理器
專門的存儲件,通過DDL(數據描述語言)創建表的結構,然後通過
DML(數據操控語言)保存SQL語句的處理結果
許可權及完整性管理器
設置存儲許可權
事務管理器
保證數據的原始狀態
文件管理器
保證數據文件和資料庫數據的對應關係
緩存區管理器
管理緩衝空間
b、查詢管理器
專門查詢組件,負責接受用戶的查詢請求、並且將查詢請求轉交
給存儲管理器,實現數據管理去的組件
DDL、DML解釋器
同於理解分析DDL和DML的操作
查詢執行引擎
具體執行操作的組件
4、工作模式
a、資料庫後臺
Mysql是單進程多線程的應用程式類型
1、守護線程
後臺預設執行的線程,不需要和用戶交互,防止數據丟失
2、應用線程
資料庫處理用戶請求的線程,用戶推出後,終止該線程
b、資料庫性能
1、垂直擴展
換更好的硬體
2、緩存
memcache、redis、MongoDB
3、線程重用
用戶退出,不撤銷線程
c、資料庫缺點
SMP支持不夠
同一個任務只能由一個CPU完成

Mysql版本
1、版本
社區版:免費、沒有技術支持、沒有技術責任方
企業版:收費、有售後支持、更穩定,可靠
集群版:基於集群需求,添加存儲引擎、集群管理器等新功能
SO7:預設MariaDB
2、安裝
mysql:客戶端鏈接工具
mysql-server:Mysql資料庫主程式
3、配置
服務名:mysqld
段口號:TCP 3306
配置文件:/etc/my.cnf
二、操作
1、結構
DBMS 資料庫管理系統
database 資料庫
table 數據表
data 數據記錄
2、登錄
命令:mysql (進入資料庫)
資料庫每條命令,必須以分號結尾
查看資料庫命令:show databases;

	u	指定登錄用戶
	h	指定登錄主機
	P	指定登錄埠號
	p	指定登錄密碼
3、創建密碼
	mysqladmin -uroot(root可以替換用戶)password '密碼'
4、創建用戶
	登錄資料庫
		在 create user '用戶'@’登錄地址’indentified by ’密碼’;
		 create user‘zhangsan‘@’localhost‘identified by ’123456‘;
		 create user‘lisi‘@’%‘identified by ’123456‘;
		 %代表僅遠程登錄
5、修改普通用戶密碼
	修改當前用戶密碼:set password = password(“密碼”);
	修改指定用戶密碼:set password for ’zhangsan‘@’localhost‘=passwd(“密碼”)
6、修改管理員密碼
	service mysql stop  	停掉mysql服務
	修改主配置文件
	vim /etc/my.cnf
		添加skip-grant-tables
	service mysql start	啟用資料庫
	進入資料庫
	強制覆蓋掉密碼並修改密碼
	update mysql.user set passord=password('123')where user=’root‘;
	將配置文件中的選項刪除
	vim /etc/my.cof
		刪除:skip-grant-tables
	重啟資料庫服務
	service mysql restart
	登錄。測試
	mysql -uroot -p123

三、資料庫的 增刪改查
1、查看
show databases;查看資料庫
use 資料庫名; 進入資料庫
show tables; 查看資料庫中的數據表
insert 插入

		select * from 數據               你    表	查看指定數據表中的所有內容
		select id from 數據表	查看指定數據表中的內容
		select id,name from 數據表	查看指定數據表中的內容
		describe 數據表		查看數據表結構	
	2、創建
		命令:create database 庫名;	創建資料庫
		      create table 數據表名 (欄位1 屬性,欄位2 屬性,···,欄位n);
			
			create table stu (id int, name chare(40));
				int 	代表整數(非字母)
				char	代表字元數
				unsigned代表不包含負數
				not null 不能為空
				null	可以為空
				primary key(id)主鍵  
			insert(插入) into 數據表 values(插入值) (值1,值2.···,值N);
			
	3、刪除
		drop database	資料庫;	刪除資料庫
		drop tablle	數據表; 	刪除數據表

	刪除數據:delete from 表名 where id=值N   刪除id第9行
		  delete from 表名 where 欄位 between 值1 and 值2;
		
		
	4、插入數據
		插入一行:insert into 表名 (name,age,info) values (‘a2’,22,’student‘)
		插入多行:insert into 表名 (name,age,info) values (‘a2’,22,’student‘),(‘a3’,23,’student‘)
		將一個表中的數據導入另一個數據
			insert into stu2 (id,name)select id,name from stu;
	5、修改
	修改單行:update 表名 set age=26(欄位1=值1),info='dancer’(欄位2=值2) where id=9;(主鍵=值N)
	修改多行:update 表名 set age=26(欄位1=值1),where 主鍵(id號)between(位於什麼之間) 值1 and 值2
		
	alter  修改數據表
		rename	改表名
		modify	改屬性
		change	改欄位
		add	添加欄位
		
		drop	刪除欄位
		first、after 位置
		
		格式:alter table 舊表名 rename 新表名;
		格式:alter table 表名 modify name char(20) not null default ‘’;
		格式:alter table 表名 change info information char(50)null;
		格式:alter table 表名 add birth date;		添加欄位
		
		格式:alter table * from drop 表名	刪除欄位
		格式:alter table 表名 add birth date after id;	(添加到id之後)

	6、許可權
		grant	授權 al	所有許可權 on 資料庫.數據表 to‘用戶’@‘地址’identified by ‘密碼’;
		
		格式:grant all *.* to ‘'zhangsan'@localhost'identified by ‘密碼’;

		revoke	取消許可權
			revoke 取消的許可權1,取消的許可權2··· on 資料庫.數據表 from ‘用戶’@‘地址’ identified by ‘密碼’
			revoke create(創建),drop(刪除) on *.* from ‘zhagnsan’@localhost‘;
			取消張三用戶所以資料庫,數據表,創建,刪除的許可權

		show grants for ’zhngsan‘@’localhost

MySQL備份

一、數據備份
1、類型
a、冷備份
關閉服務,備份數據
b、快照備份
LVM
c、邏輯備份(安裝mysqldump自帶)和物理備份
d、商業備份工具
2、mysqldump
備份:
mysqldump -uroot p 資料庫 > 備份文件
mysqldump -uroot p 資料庫 數據表 > 備份文件
mysqldump -uroot p --databases > 備份文件
還原:
mysql -uroot -p 資料庫 < 備份文件
mysql -uroot -p < 備份文件
3、musqlhotcopy
備份:

		mysqlhotcopy --flusdhlog -u=‘root’-p=’123‘ --regexp=^jx backup
	還原:
		cp -rp /backup/* /var/lib/mysql/
4、總結
	mysqlhotcopy是快速文件意義上的複製,而mysqldump是SQL語句是集合
	mysqlhotcopy只能運行在當前主機,而mysqldump可以遠程操作(註意:備份結果還是保存在當前主機)
	mysqlhotcopy僅適用於MyISAM引擎,而mysqldump支持MyISAM和InnoDB

二、日誌管理
1、查看日誌
命令:show global variables like ‘%log%’
2、錯誤日誌
作用: 記錄伺服器運行過程中的錯誤信息
伺服器啟動和關閉的信息
從伺服器啟動進程時產生的信息
查看:命令:show global variables like ‘%log_error% (錯誤日誌的路徑)
show global variables like ‘%log_warnings% (是否啟用錯誤日誌)
3、一般查詢日誌
作用:記錄用戶的查詢操作(預設關閉,在資料庫的配置文件打開)
general_log 是否啟動
general_log_file 日誌位置
log 全局日誌
log_output 記錄類型 file table nane
4、慢查詢日誌
slow_query_log 是否啟動慢查詢日誌
slow_query_log_file 日誌位置
long_query_time 時間設置

	log—slow—queries=/var/mysql—slow.log
5、二進位日誌
	作用:記錄更改資料庫狀態的操縱
	log_bin		是否啟動
	show binary;	正在使用的二進位文件
	
	show binlog events in ‘mysqlbin.000001’查看二進位文件的內容
	
	還原命令:
		mysqlbinlog
			——start—position
			——stop—position
			使用文件大小來還原
	
			——start—datetime
			——stop—datetime
			使用文件時間來還原
	例如:mysqlbinlog mysqlbinlog.000001 ——start—position 106 ——stop—position 264 | mysql -uroot -p123
	列如:mysqlbinlog mysqlbinlog.000001 ——start—datetime ‘2020-04-29 17:59:53’——stop—datetime ‘2020-04-29 17:59:59’| musql -uroot -p123
6、事務日誌
7、中繼還原
(自己查詢)


資料庫信息同步 -多級配置		

一、主從配置
作用:從伺服器提供備份
二、主主配置
作用:減輕伺服器的壓力,並且互為主從,進行備份
三、一主多從配置
作用:提供多台從伺服器進行備份

一、多主一從配置
作用:節省開支,僅通過一臺伺服器進行備份
二、讀寫分離
中間件(鏡像)
mysql proxy(官方,適合較少文件、支持讀寫分離)
atlas(支持讀寫,性能損耗大)
amoeba、cobar

一、概述
1、關係資料庫

2、nosql
	全稱:mot only sql
	非關係式資料庫
3、nosql的優勢
	a、資料庫高併發讀寫的需求
	b、海量數據的高效存儲和訪問
	c、高擴展性和高可用性
	d、其他
4、特點
	易擴展
	大數據量、高性能
	靈活的數據模型
	高可用
5、類型
	memcache
        Redis
	mongoDB
	hbase
	cassandra

二、安裝配置
1、安裝
2、配置
基於鍵值(key)的存儲類型
3、數據類型
string 字元串類型
hash 散列
list 隊列
set 集合
zset 有序集合
三、數據操作
1、string
set 設置新建(創建) 如:set a 1
get 查看新建(查看) 如:get a
mset 批量設置新建(同時創建多個) mset a1 1 a2 2 a3 3
mget 批量查看新建 (同時查看多個) gmset a1 a2 a3
若值中間有空格加引號 set a1 ’zhang san‘

	setnx	設置新建,若存在。則放棄:若不存在,則創建
	getset	 V??VZ'x'cV?.xc?V.xcv.xc;'v,;'xc,v;lsv,;lsd,v;lsd,vsfld,lsd,fvd,fvds;,lvds,lv',lvf,vglf,vlf,dlv,fdl      	keys * 	查看所有鍵
	
	ttl	查看生存周期(存在時間),-1:表示鍵存在,但沒有設置生存周期
					 -2:表示鍵不存在
	setex	設置生存周期  格式: setex 名 存在時間 值
	setrange替換字元串    格式: setranfe 名 第幾個字元(第一個為0)替換值
	append	追加字元串    格式: append   名 追加字元
	strlen	查看字元串長度	格式:strlen 名

	
	incr	增加1	格式 :incr 名 (每次加一)
	decr	減1	格式 :decr 名  (每次減一)
	incrby	增加指定數值	格式 :incrby 名 追加值
	decrby	減少指定數值	格式 :decrby 名	 減少值

2、hash 散列
	hset	設置新建
	hget	查看新建
	hkeys 	查看指定鍵對應的所有欄位

	hmset	批量設置新建
	hmget	批量查看新建
	
	hexists	查看指定鍵是否存在

	hsetnx 	設置新建,若存在。則放棄:若不存在,則創建
	hvals	查看指定鍵對應的所有值
	hgetall	查看指定鍵對應的所有欄位和值
	hdel	刪除指定欄位
	hlen	查看指定鍵的欄位總數
	
3、list	隊列
	lpush	添加隊列		格式:lpush 名 元素  (lpush l1 1 2 3 4 5 6 7)
	lrange	顯隊列內容	格式:lrange l1 0 -1 
	llen	顯示隊列中的元素的個數	格式:llen l1
	lset	替換隊列內容(通過位數)	格式:lsedt 位數 更改元素 (lset l1 2 a)
	
	linsert	插入隊列內容(通過元素)	格式:linsert 名 before(插入)2 “hello”
	lpop	刪除對列中的第一個元素	格式:lpop 隊列名 
	rpop	刪除對列中的最後一個元素	格式:rpop 隊列名
4、set	集合
	sadd	創建集合		格式:sadd 名 數據 (sadd l1 1 2 3 )
	smembers查看集合內容	格式:smembers 名   (smembers l1)
	srandmember隨機抽取集合數據	格式:srandmember 名 (srandmember l1)
	spop	隨機刪除	集合數據		格式:spop 名 (spop l1)
	scrd	統計集合	中數據的個數		格式:scrd 名 (scrd l1)
	sismember查看指定數據是否存在於集合中(返回值為1:存在 返回值為0:不存在)格式:sismember 名 數據 (sismember l1 2 )
	sinter 	查看交集			格式:sinter 名 名 (sinter s1 s2)
	sdiff	查看差集	
	sunion	   	格式:suniontore

	sinterstore查看交集並保存			格式:sinterstore 名 名 新名 (sinterstore s3 s1 s2)
	sdiffstore 查看差集並保存
	sunionstore查看並集並保存
5、zset有序集合
	zadd	創建集合		格式:zadd 名 序號 值 (zadd 1 aa 2 bb 3 cc)
	zrange	查看集合	(序號從小到大)	格式:zrange z1 0 -1 withscores
	zrevrange查看集合(序號從大到小)格式:zrevrange z1 0 -1 withscores
	zrangebyscore查找指定序號範圍內的元素	格式:zrangebyscore z1 2  5 withscores
	zcount	查看指定序號範圍內的元素數目	格式:zcount z1 2 5
	zcard	查看集合中的元素個數		格式:zcaed z1
	zincrby	創建或增加序號			格式:zinceby z1 4 dd(重覆命令:增加序號)
	zrank	返回指定元素的位數(序號從小到大)格式:zrank z1 dd
	zrevrank返回指定元素的位數(序號從大到小)格式:zrevrank z1 dd
	zrem	刪除指定元素			格式:zrem z1		
6、其他
	keys *	查看所有鍵
	exists	查看指定鍵是否存在(存在唯1:不存在為0)	格式:exists 鍵
	select  切換庫(0-15)   格式:select 庫名
	move 	移動鍵 至 指定庫	 格式:move l1 2
	type	查看指定鍵的類型	格式:type 鍵名
	rename	重命名		格式:rename 舊名 新名

	dbsize	統計當前所有鍵的數量
	info	獲取伺服器配置信息
	flushdb 刪除當前庫中所有鍵
	flushall刪除所以庫中所有鍵

二、其他應用
1、改密碼
進入 vim redis.conf配置文件
391行 取消註釋
requirepass 密碼
auth 密碼 或 redis-cli -a 密碼
2、持久化存儲
進入 vim redis.conf配置文件
187行 dir 指定備份文件的位置(決定路徑)
3、主從配置
進入vim redis.conf配置文件
pidfile 指定進程文件的位置
port 指定埠號
dir 指定備份文件位置
slaveof 指定主伺服器的IP和埠
masterauth 指定主伺服器的認證信息

本文來自博客園,作者:zhaofahao,轉載請註明原文鏈接:https://www.cnblogs.com/zhaofahao/p/16599907.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。 ...
  • 1. 運行時數據區域 Java虛擬機在執行Java程式的過程中會把它所管理的記憶體劃分為若幹個不同的數據 區域。這些區域都有各自的用途,以及創建和銷毀的時間,有的區域隨著虛擬機進程的 啟動而存在,有些區域則是依賴用戶線程的啟動和結束而建立和銷毀。根據《Java虛擬 機規範(第2版)》的規定,Java虛 ...
  • Java集合05 11.HashSet課堂練習 11.1課堂練習1 定義一個Employee類,該類包括:private成員屬性name,age 要求: 創建3個Employee對象放入HashSet中 當name和age的值相同時,認為是相同員工,不能添加到HashSet集合中 思路:不同對象的哈 ...
  • Spring5相關的知識點,IOC,AOP,DI依賴註入,Bean的自動裝配,使用註解開發,spring整合mybatis等於Spring相關的知識都在這裡了 ...
  • 使用 Django 編寫的 B/S 應用通常會使用 Cookie + Session 的方式來做身份驗證,用戶登錄信息存儲在後臺資料庫中,前端 Cookie 也會存儲少量用於身份核驗的數據,由後臺直接寫入。但是在開發調試階段,使用 Postman 等請求工具請求登錄時,可能會缺失前端本應存儲的數據,... ...
  • 2015年07月14日 22:33在博客園上發表第一篇博客,2017年09月09日23:07發表最後一篇博客,歷時788天,主要是想記錄一下思考和發展的過程。2020年12月04日簽訂出版協議,到最終出版《物聯網軟體架構設計與實現》(北京大學出版社),歷時622天。 ...
  • Vue——​​兩分鐘概述 Vue 是一個JavaScript 框架。 在其最簡單的模式中,您可以簡單地將核心 Vue 腳本包含在您的應用程式中,然後開始構建您的組件。 除此之外,對於更複雜的應用程式,您可以使用 Vue 自己的 CLI 創建(並最終發佈)一個 Vue 項目。 與大多數其他 JavaS ...
  • Linux 用戶和組 1、用戶和組的概念 用戶的作用: Authentication:認證 Authorization:授權 Accouting:審計 用戶存在的最終目的: 為了實現資源的分派 組的作用: 將具有相同特征的用戶放在一起組成一個整體 當用戶過多時方便管理 1.1Linux安全上下文 L ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...