NFS文件存儲及部署論壇(小白的“升級打怪”成長之路)

目錄

一、概述

NFS掛載原理

NFS工作原理

RPC與NFS通訊過程

二、NFS服務安裝與啟停

NFS服務安裝

NFS服務啟停

三、NFS服務配置文件

四、NFS文件共享配置文件

配置參數說明

五、命令解析

六、客戶端訪問

七、客戶端掛載

實戰案例

部署NFS文件存儲及discuz論壇應用

一、掛載nfs共享目錄

1、部署nfs服務器

2、部署nfs客戶端

3、部署nfs客戶端

4、測試結果

5、掛載nfs共享目錄訪問本地數據庫

6、測試結果

二、配置網頁discuz論壇應用

1、導入Discuz! X3.5 論壇系統的官方安裝包壓縮文件

2、進入數據庫創建用戶及賦予權限

3、網站訪問圖形化安裝


一、概述

NFS是Network File System的縮寫,默認監聽2049端口號。它最大的功能就是可以通過網絡,讓不同的機器、不同的操作系統可以共享彼此的文件。

NFS服務器可以讓PC將網絡中的NFS服務器共享的目錄掛載到本地端的文件系統中,而在本地端的系統中來看,那個遠程主機的目錄就好像是自己的一個磁盤分區一樣,在使用上相當便利;NFS一般用來存儲共享視頻,圖片等靜態數據。

NFS分為服務端和客戶端(C/S架構)。服務端提供共享目錄或文件,客戶端對服務端共享的目錄或文件掛載后,就可以讀取到服務端提供的文件或目錄,在客戶端看來就像訪問本地一樣。

RPC,遠程過程調用協議。可以通過網絡從遠程主機程序上請求服務,而不需要了解底層網絡技術。最重要的功能是遠程連接、端口注冊。使用UDP的111端口監聽客戶請求。

NFS掛載原理

NFS工作原理

NFS服務端和客戶端之間通過隨機選擇端口來傳輸數據,NFS服務端利用RPC協議與客戶端進行溝通決定使用的隨機端口,然后利用這個端口來傳輸數據,使用的隨機端口通常小于1024。RPC協議用來統一管理NFS的隨機端口,其使用的端口默認為111。

RPC與NFS通訊過程

  1. 首先服務器端啟動RPC服務,并開啟111端口

  2. 服務器端啟動NFS服務,并向RPC注冊端口信息

  3. 客戶端啟動RPC(portmap服務),向服務端的RPC(portmap)服務請求服務端的NFS端口

  4. 服務端的RPC(portmap)服務反饋NFS端口信息給客戶端。

  5. 客戶端通過獲取的NFS端口來建立和服務端的NFS連接并進行數據的傳輸。

二、NFS服務安裝與啟停

NFS服務安裝

[root@nginx1 ~]# yum install -y nfs-utils

NFS服務啟停

[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl stop nfs
[root@localhost ~]# systemctl enable --now nfs

三、NFS服務配置文件

[root@localhost ~]# cat /etc/nfs.conf
# 這是一個NFS服務器的配置文件
# This is a general configuration for the NFS daemons and tools
?
#[general]
# pipefs-directory=/var/lib/nfs/rpc_pipefs  # 設置RPC管道文件系統的目錄
?
#[exportfs]
# debug=0  # 設置導出時的調試級別為0
?
#[gssd]
# verbosity=0  # 設置GSSAPI的日志級別為0
# rpc-verbosity=0  # 設置RPC日志級別為0
# use-memcache=0  # 是否使用內存緩存,這里設置為0,不使用
# use-machine-creds=1  # 是否使用機器憑證,這里設置為1,使用
# avoid-dns=1  # 是否避免DNS查找,這里設置為1,避免
# limit-to-legacy-enctypes=0  # 是否限制使用舊的對等體類型,這里設置為0,不限制
# context-timeout=0  # 設置上下文超時時間為0,即無超時時間
# rpc-timeout=5  # 設置RPC超時時間為5秒
# keytab-file=/etc/krb5.keytab  # 指定Kerberos的keytab文件路徑
# cred-cache-directory=  # 憑證緩存目錄為空,可能這個配置項被注釋掉了或者不存在
# preferred-realm=  # 首選領域為空,可能是默認的領域值
?
#[lockd]
# port=0  # 鎖管理器監聽的端口為0,可能未配置或默認值
# udp-port=0  # UDP端口為0,可能未配置或默認值
?
#[mountd]
# debug=0  # 掛載時的調試級別為0
# manage-gids=n  # 是否管理組ID,這里設置為n,不管理
# descriptors=0  # 描述符數量為0,可能未配置或默認值
?
#[nfsdcltrack]
# debug=0  # NFS數據流跟蹤的調試級別為0
# storagedir=/var/lib/nfs/nfsdcltrack  # 數據存儲目錄為空,可能這個配置項被注釋掉了或者不存在
?
#[nfsd]
# debug=0  # NFS服務的調試級別為0
# threads=8  # 并發線程數為8,可以提供更高的性能
# host=  # 主機的IP地址或域名,這里為空,可能是默認值或未配置
?
?
#[statd]
# debug=0  # 設置statd服務的調試級別為0,即不進行調試
# port=0  # 設置statd服務的監聽端口為0,可能表示默認值或未配置
# outgoing-port=0  # 設置statd服務發送數據的端口為0,可能表示默認值或未配置
# name=  # 設置statd服務的名稱為空,可能表示默認值或未配置
# state-directory-path=/var/lib/nfs/statd  # 設置statd服務的狀態目錄路徑為/var/lib/nfs/statd
# ha-callout=  # 設置高可用調用為空,可能表示未配置
# no-notify=0  # 設置是否禁用通知為0,即不禁用通知
?
#[sm-notify]
# debug=0  # 設置sm-notify服務的調試級別為0,即不進行調試
# force=0  # 設置是否強制發送通知為0,即不強制發送
# retry-time=900  # 設置發送通知請求的延遲時間為900秒
# outgoing-port=  # 設置發送數據的端口為空,可能表示默認值或未配置
# outgoing-addr=  # 設置發送數據的地址為空,可能表示默認值或未配置
# lift-grace=y  # 設置是否解除寬限期為y,即解除寬限期

四、NFS文件共享配置文件

[root@localhost ~]# cat /etc/exports
###默認是空的
配置參數說明
參數作用
ro只讀
rw讀寫
root_squash當以root身份訪問時,映射為NFS服務端的匿名用戶
no_root_squash當以root身份訪問時,映射為NFS服務端的root用戶
all_squash無論使用什么賬戶訪問,均映射為NFS服務端的匿名用戶
sync同時將數據寫入內存和硬盤中,保證不丟失數據
async先將數據寫入內存,然后寫入硬盤中,可能會造成數據丟失

五、命令解析

命令字選項作用
exportfs-d開啟調試模式。有效的調試類型包括:all, auth, call, general 和 parse。在/etc/nfs.conf的[exportfs]部分中設置debug=也可以開啟調試模式。
-a導出或取消導出所有目錄。
-o指定一個與exports(5)文件中的導出選項列表相同的選項列表。
-i忽略/etc/exports文件和/etc/exports.d目錄下的文件,僅使用命令行中給出的默認選項和選項。
-r重導出所有目錄,將/var/lib/nfs/etab與/etc/exports和/etc/exports.d下的文件同步。該選項會刪除來自/var/lib/nfs/etab中已從/etc/exports或/etc/exports.d下的文件的刪除條目,并刪除內核導出表中已不再有效的條目。
-u取消導出一個或多個目錄。
-f如果/proc/fs/nfsd或/proc/fs/nfs被掛載,則將內核的導出表中的所有內容清除。活躍客戶端的新的內核導出表條目是由rpc.mountd在它們下次發出NFS掛載請求時添加的。
-v顯示詳細信息。在導出或取消導出時,顯示正在進行的事情。在顯示當前導出列表時,還會顯示導出選項列表。
-s顯示適合/etc/exports的當前導出列表
shoumountshowmount [ -adehv ] [ --all ] [ --directories ] [ --exports ] [ --help ] [ --version ] [ host ]
-a列出客戶端主機名或IP地址以及以主機目錄格式表示的掛載目錄。
-d僅列出由客戶端掛載的目錄。
-e顯示NFS服務器的導出列表。(常用)
-h提供簡短的幫助摘要。
-v報告程序的當前版本號。

六、客戶端訪問

#####查看nfs服務器192.168.115.128的共享目錄
[root@localhost ~]# showmount -e 192.168.115.128

七、客戶端掛載

####手動掛載##
[root@localhost ~]# mount 192.168.115.128:/nfsdir /mnt
###自動掛載,建議啟動掛載NFS文件系統的主機前,先去查看NFS服務器是否能夠正常提供服務!!##
[root@localhost ~]# vim /etc/fstab
192.168.115.128:/nfsdir /mnt    nfs4    defaults    0 0
##重載systemd
[root@localhost ~]# systemctl daemon-reload
###測試掛載####
[root@localhost ~]# mount -a
####查看掛載###
[root@localhost ~]# df -Th
文件系統 ? ? ? ? ? ? ?  類型 ? ?  容量  已用  可用 已用% 掛載點
devtmpfs ? ? ? ? ? ? ?  devtmpfs  475M ? ? 0  475M ? ?0% /dev
tmpfs ? ? ? ? ? ? ? ? ? tmpfs ? ? 487M ? ? 0  487M ? ?0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? tmpfs ? ? 487M ?7.6M  479M ? ?2% /run
tmpfs ? ? ? ? ? ? ? ? ? tmpfs ? ? 487M ? ? 0  487M ? ?0% /sys/fs/cgroup
/dev/mapper/centos-root xfs ? ? ? 116G ?1.9G  114G ? ?2% /
/dev/sda1 ? ? ? ? ? ? ? xfs ? ? ? 497M  131M  367M ? 27% /boot
tmpfs ? ? ? ? ? ? ? ? ? tmpfs ? ?  98M ? ? 0 ? 98M ? ?0% /run/user/0
192.168.115.111:/nfsdir nfs4 ? ?  116G ?1.9G  114G ? ?2% /mnt
?

實戰案例

部署NFS文件存儲及discuz論壇應用

NAS(網絡附加存儲,是通過網絡附加到當前主機文件系統之上的存儲)

文件系統級別的存儲,本身就是一個做好的文件系統,通過nfs接口在用戶空間輸出后,客戶端基于內核模塊與遠程主機進行網絡通信,把它轉為好像本地文件系統一樣來使用,這種存儲服務是沒辦法對它再一次格式化創建文件系統塊的

操作前準備

準備三臺OpenEuler虛擬機(ip分別為192.168.58.180、192.168.58.182、192.168.58.183)

從官方網站下載Discuz! X3.5 論壇系統的官方安裝包壓縮文件

一、掛載nfs共享目錄

1、部署nfs服務器
####192.168.58.180
##安裝nfs-utils、mysql-server服務
[root@bogon ~]# yum install -y nfs-utils mysql-server
?
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl start nfs
##修改主機名
[root@bogon ~]# hostnamectl set-hostname nfs-server
[root@bogon ~]# bash
?
?
Welcome to 6.6.0-79.0.0.84.oe2403sp1.x86_64
?
System information as of time:  2025年 07月 09日 星期三 21:57:34 CST
?
System load: ?  0.06
Memory used: ?  7.8%
Swap used: ? ?  0%
Usage On: ? ? ? 5%
IP address: ? ? 192.168.58.180
Users online: ? 1
?
##修改配置文件,設置192.168.58.0/24網段能訪問的目錄位置
[root@nfs-server ~]# vim /etc/exports
/home/data  192.168.58.0/24(rw,sync,no_root_squash)
?
##創建共享目錄
[root@nfs-server ~]# mkdir /home/data
?
##開啟動態管理共享目錄
[root@nfs-server ~]# exportfs -arv
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.58.0/24:/home/data".Assuming default behaviour ('no_subtree_check').NOTE: this default has changed since nfs-utils version 1.0.x
?
exporting 192.168.58.0/24:/home/data
?
?
[root@nfs-server ~]# cd /home/data/
##創建一個PHP網站頁面
[root@nfs-server data]# vim index.html
<?php
phpinfo();
?>
?
[root@nfs-server data]# mv index.html index.php
2、部署nfs客戶端
####192.168.58.182
##安裝 nfs-utils、mysql-server
[root@bogon ~]#  yum install -y nfs-utils mysql-server
?
[root@bogon ~]# systemctl stop firewalld
?
##查看nfs服務器192.168.58.180的共享目錄
[root@bogon ~]# showmount -e 192.168.58.180
Export list for 192.168.58.180:
/home/data 192.168.58.0/24
?
##手動掛載
[root@bogon ~]# mount 192.168.58.180:/home/data /mnt/
[root@bogon ~]# df -h
文件系統 ? ? ? ? ? ? ? ? ?  大小  已用  可用 已用% 掛載點
/dev/mapper/openeuler-root ? 69G  3.1G ? 62G ?  5% /
devtmpfs ? ? ? ? ? ? ? ? ?  4.0M ? ? 0  4.0M ?  0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? ? 4.0M ? ? 0  4.0M ?  0% /sys/fs/cgroup
efivarfs ? ? ? ? ? ? ? ? ?  256K ? 51K  201K ? 21% /sys/firmware/efi/efivars
tmpfs ? ? ? ? ? ? ? ? ? ? ? 675M  9.1M  666M ?  2% /run
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /tmp
/dev/nvme0n1p2 ? ? ? ? ? ?  974M  248M  659M ? 28% /boot
/dev/nvme0n1p1 ? ? ? ? ? ?  599M  6.1M  593M ?  2% /boot/efi
/dev/mapper/openeuler-home  119G ? 40K  113G ?  1% /home
192.168.58.180:/home/data ? 119G ? ? 0  113G ?  0% /mnt
##在本機/mnt/目錄下可以查看到nfs服務器的共享目錄內容
?
##安裝nginx服務,實現網站服務
[root@bogon ~]# yum install -y nginx
?
##重新掛載在nginx服務的目錄下手動掛載
[root@bogon ~]# umount /mnt/
[root@bogon ~]# mount 192.168.58.180:/home/data /usr/share/nginx/html/
[root@bogon ~]# df -h
文件系統 ? ? ? ? ? ? ? ? ?  大小  已用  可用 已用% 掛載點
/dev/mapper/openeuler-root ? 69G  3.1G ? 62G ?  5% /
devtmpfs ? ? ? ? ? ? ? ? ?  4.0M ? ? 0  4.0M ?  0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? ? 4.0M ? ? 0  4.0M ?  0% /sys/fs/cgroup
efivarfs ? ? ? ? ? ? ? ? ?  256K ? 51K  201K ? 21% /sys/firmware/efi/efivars
tmpfs ? ? ? ? ? ? ? ? ? ? ? 675M  9.1M  666M ?  2% /run
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /tmp
/dev/nvme0n1p2 ? ? ? ? ? ?  974M  248M  659M ? 28% /boot
/dev/nvme0n1p1 ? ? ? ? ? ?  599M  6.1M  593M ?  2% /boot/efi
/dev/mapper/openeuler-home  119G ? 40K  113G ?  1% /home
192.168.58.180:/home/data ? 119G ? ? 0  113G ?  0% /usr/share/nginx/html
?
?
[root@bogon ~]# systemctl start nginx
##修改主機名
[root@bogon ~]# hostnamectl set-hostname lnmp-web1
[root@bogon ~]# bash
?
?
Welcome to 6.6.0-79.0.0.84.oe2403sp1.x86_64
?
System information as of time:  2025年 07月 09日 星期三 22:05:24 CST
?
System load: ?  0.01
Memory used: ?  7.2%
Swap used: ? ?  0%
Usage On: ? ? ? 5%
IP address: ? ? 192.168.58.182
Users online: ? 1
?
##修改mysql數據庫配置文件
[root@lnmp-web1 ~]# vim /etc/my.cnf
##在最后加上
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 密碼驗證方式
default_authentication_plugin=mysql_native_password
?
?
##安裝php、php-mysqlnd、php-fpm
[root@lnmp-web1 ~]# yum install -y php php-mysqlnd php-fpm
?
[root@lnmp-web1 ~]# systemctl start php-fpm
[root@lnmp-web1 ~]# systemctl restart nginx
?
[root@lnmp-web1 php-fpm]# systemctl start mysqld
3、部署nfs客戶端
####192.168.58.183
##安裝 nfs-utils、mysql-server
[root@bogon ~]#  yum install -y nfs-utils mysql-server
?
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# yum install -y nginx
?
##查看nfs服務器192.168.58.180的共享目錄
[root@bogon ~]# showmount -e 192.168.58.180
Export list for 192.168.58.180:
/home/data 192.168.58.0/24
?
##手動掛載
[root@bogon ~]# mount 192.168.58.180:/home/data /usr/share/nginx/html/
[root@bogon ~]# df -h
文件系統 ? ? ? ? ? ? ? ? ?  大小  已用  可用 已用% 掛載點
/dev/mapper/openeuler-root ? 69G  3.1G ? 62G ?  5% /
devtmpfs ? ? ? ? ? ? ? ? ?  4.0M ? ? 0  4.0M ?  0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? ? 4.0M ? ? 0  4.0M ?  0% /sys/fs/cgroup
efivarfs ? ? ? ? ? ? ? ? ?  256K ? 51K  201K ? 21% /sys/firmware/efi/efivars
tmpfs ? ? ? ? ? ? ? ? ? ? ? 675M  9.1M  666M ?  2% /run
tmpfs ? ? ? ? ? ? ? ? ? ? ? 1.7G ? ? 0  1.7G ?  0% /tmp
/dev/nvme0n1p2 ? ? ? ? ? ?  974M  248M  659M ? 28% /boot
/dev/nvme0n1p1 ? ? ? ? ? ?  599M  6.1M  593M ?  2% /boot/efi
/dev/mapper/openeuler-home  119G ? 40K  113G ?  1% /home
192.168.58.180:/home/data ? 119G ? ? 0  113G ?  0% /usr/share/nginx/html
?
?
[root@bogon ~]# systemctl start nginx
##修改主機名
[root@bogon ~]# hostnamectl set-hostname lnmp-web2
[root@bogon ~]# bash
?
?
Welcome to 6.6.0-79.0.0.84.oe2403sp1.x86_64
?
System information as of time:  2025年 07月 09日 星期三 22:08:45 CST
?
System load: ?  0.00
Memory used: ?  7.2%
Swap used: ? ?  0%
Usage On: ? ? ? 5%
IP address: ? ? 192.168.58.183
Users online: ? 1
?
##修改mysql數據庫配置文件
[root@lnmp-web2 ~]# vim /etc/my.cnf
##在最后加上
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 密碼驗證方式
default_authentication_plugin=mysql_native_password
?
?
##安裝php、php-mysqlnd、php-fpm
[root@lnmp-web2 ~]# yum install -y php php-mysqlnd php-fpm
?
[root@lnmp-web2 ~]# systemctl start php-fpm
[root@lnmp-web2 ~]# systemctl restart nginx
[root@lnmp-web2 ~]# systemctl start mysqld
4、測試結果

訪問192.168.58.182和192.168.58.183顯示

5、掛載nfs共享目錄訪問本地數據庫

配置網頁訪問本地數據庫文件

####192.168.58.180
##編輯新的網頁文件
[root@nfs-server data]# vim /home/data/mysql_conn.php
<?php$link = mysqli_connect('localhost','root','');if ($link) {echo "connect successful"; ?}else{echo "connect faile";}
mysqli_close($link);
?>
6、測試結果

訪問192.168.58.182/mysql_conn.php和192.168.58.183/mysql_conn.php顯示

二、配置網頁discuz論壇應用

1、導入Discuz! X3.5 論壇系統的官方安裝包壓縮文件
####192.168.58.180
##導入Discuz_X3.5_SC_UTF8_20240520.zip壓縮包
[root@nfs-server ~]# cd /home/data
[root@nfs-server data]# ls
index.php  mysql_conn.php
[root@nfs-server data]# yum install -y lrzsz
[root@nfs-server data]# rz
rz waiting to receive.**[root@nfs-server data]# ls
Discuz_X3.5_SC_UTF8_20240520.zip  index.php  mysql_conn.php
?
##壓縮包解壓
[root@nfs-server data]# unzip Discuz_X3.5_SC_UTF8_20240520.zip
?
[root@nfs-server data]# ls
Discuz_X3.5_SC_UTF8_20240520.zip  index.php  LICENSE  mysql_conn.php  qqqun.png  readme  readme.html  upload  utility.html
[root@nfs-server data]# cd upload
[root@nfs-server upload]# ls
admin.php  archiver ? ? crossdomain.xml  forum.php  index.php ? misc.php ?  robots.txt  static ? ? uc_server
api ? ? ?  config ? ? ? data ? ? ? ? ? ? group.php  install ? ? plugin.php  search.php  template
api.php ?  connect.php  favicon.ico ? ?  home.php ? member.php  portal.php  source ? ?  uc_client
?
##更改文件屬主
[root@nfs-server upload]# chown apache -R ./
[root@nfs-server upload]# ls -l
總計 108
-rw-r--r--  1 apache root 2869 2024年 5月20日 admin.php
drwxr-xr-x 10 apache root 4096 2024年 5月20日 api
-rw-r--r--  1 apache root  727 2024年 5月20日 api.php
drwxr-xr-x  2 apache root 4096 2024年 5月20日 archiver
drwxr-xr-x  2 apache root 4096 2024年 5月20日 config
-rw-r--r--  1 apache root 1040 2024年 5月20日 connect.php
-rw-r--r--  1 apache root  106 2024年 5月20日 crossdomain.xml
drwxr-xr-x 12 apache root 4096 2024年 5月20日 data
-rw-r--r--  1 apache root 5558 2024年 5月20日 favicon.ico
-rw-r--r--  1 apache root 2357 2024年 5月20日 forum.php
-rw-r--r--  1 apache root  906 2024年 5月20日 group.php
-rw-r--r--  1 apache root 1325 2024年 5月20日 home.php
-rw-r--r--  1 apache root 6920 2024年 5月20日 index.php
drwxr-xr-x  5 apache root 4096 2024年 5月20日 install
-rw-r--r--  1 apache root  998 2024年 5月20日 member.php
-rw-r--r--  1 apache root 2410 2024年 5月20日 misc.php
-rw-r--r--  1 apache root 1790 2024年 5月20日 plugin.php
-rw-r--r--  1 apache root 1086 2024年 5月20日 portal.php
-rw-r--r--  1 apache root  639 2024年 5月20日 robots.txt
-rw-r--r--  1 apache root 1755 2024年 5月20日 search.php
drwxr-xr-x 10 apache root 4096 2024年 5月20日 source
drwxr-xr-x  7 apache root 4096 2024年 5月20日 static
drwxr-xr-x  3 apache root 4096 2024年 5月20日 template
drwxr-xr-x  8 apache root 4096 2024年 5月20日 uc_client
drwxr-xr-x 13 apache root 4096 2024年 5月20日 uc_server
2、進入數據庫創建用戶及賦予權限
####192.168.58.182
[root@lnmp-web1 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.42 Source distribution
?
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
?
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
?
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
mysql> create user ultrax@127.0.0.1 identified by '123.com';
Query OK, 0 rows affected (0.04 sec)
?
mysql> grant all on ultrax.* to ultrax@127.0.0.1;
Query OK, 0 rows affected (0.01 sec)
?
mysql> exit
Bye
?
?
####192.168.58.183
[root@lnmp-web2 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.42 Source distribution
?
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
?
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
?
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
mysql> create user ultrax@127.0.0.1 identified by '123.com';
Query OK, 0 rows affected (0.03 sec)
?
mysql> grant all on ultrax.* to ultrax@127.0.0.1;
Query OK, 0 rows affected (0.00 sec)
?
mysql> exit
Bye
?
?
3、網站訪問圖形化安裝

網站訪問192.168.58.183/upload

1、同意

2、取消

3、下一步

4、下一步

5、創建數據庫

6、完成論壇安裝

網站訪問192.168.58.182/upload,訪問失敗,把192.168.58.183創建的庫文件拷給192.168.58.182

####192.168.58.183
[root@lnmp-web2 ~]# mysqldump --databases ultrax > ultrax.sql
[root@lnmp-web2 ~]# scp ultrax.sql 192.168.58.182:/root
The authenticity of host '192.168.58.182 (192.168.58.182)' can't be established.
ED25519 key fingerprint is SHA256:MLxF58+VVC/Hxl5/cFvqToS1pVkPMVDruVAYkzCSOc4.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.58.182' (ED25519) to the list of known hosts.
?
Authorized users only. All activities may be monitored and reported.
root@192.168.58.182's password: 
ultrax.sql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  100% 2224KB  15.3MB/s ? 00:00 ? 
####192.168.58.182
[root@lnmp-web1 ~]# ls
anaconda-ks.cfg  ultrax.sql
[root@lnmp-web1 ~]# mysql < ultrax.sql 

網站再次訪問192.168.58.182/upload,訪問成功

查看服務器生成了兩個文件

####192.168.58.180
##網頁安裝后生成兩個新文件
[root@nfs-server upload]# cd config
[root@nfs-server config]# ls
config_global_default.php  config_ucenter_default.php  index.htm
config_global.php ? ? ? ?  config_ucenter.php
?
?

看到感覺有幫助的朋友,勞煩動動發財的小手給博主點個贊

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913880.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913880.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913880.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript 對象創建:new 操作符全解析

引言 在 JavaScript 中&#xff0c;new 操作符是實現面向對象編程的??核心機制??之一。本文將從原理層面對 new 操作符進行深度剖析&#xff0c;探討其工作機制、內部實現和實際應用場景。無論您是 JavaScript 初學者還是資深開發者&#xff0c;都能從本文獲得以下知識和技…

Spring Boot + Vue.js 全棧開發:從前后端分離到高效部署,打造你的MVP利器!

文章目錄一、為何選擇 Spring Boot Vue.js&#xff1f;全棧開發的“黃金搭檔”&#xff01;二、項目初始化與基礎架構搭建2.1 后端&#xff1a;初始化 Spring Boot 項目2.2 前端&#xff1a;初始化 Vue.js 項目2.3 核心配置&#xff1a;打通前后端通信與跨域&#xff01;后端 …

容器技術技術入門與Docker環境部署

目錄 一&#xff1a;Docker 概述 1&#xff1a;什么是Docker 2:Docker 的優勢 3&#xff1a;Docker的應用場景 4&#xff1a;Docker核心概念 二&#xff1a;Docker 安裝 三&#xff1a;Docker 鏡像操作 1&#xff1a;獲取鏡像 2&#xff1a;查看鏡像信息 3&#xff1a…

構建高效分布式系統:bRPC組合Channels與HTTP/H2訪問指南

構建高效分布式系統&#xff1a;bRPC組合Channels與HTTP/H2訪問指南 引言 在現代分布式系統中&#xff0c;下游服務訪問的復雜性日益增加。bRPC通過組合Channels和HTTP/H2訪問優化&#xff0c;提供了解決多層級RPC調用、負載均衡和協議兼容性問題的完整方案。本文將深入解析兩大…

WSL創建Ubuntu子系統與 VS code 開發

文章目錄一、打開Windows的虛擬化基礎功能二、安裝WSL和Ubuntu1. 安裝 WSL2. 安裝 Ubuntu三、 VScode一、打開Windows的虛擬化基礎功能 控制面板-程序和功能-啟動或關閉Windows功能&#xff0c;勾選適用于Linux的Windows子系統、虛擬機平臺&#xff0c; 完成后根據提示重啟電腦…

AlpineLinux二進制文件部署prometheus

在Alpine Linux上通過二進制文件部署Prometheus的步驟如下: 創建用戶和組: groupadd prometheus useradd -g prometheus -m -s /sbin/nologin prometheus下載Prometheus二進制文件: 你可以從Prometheus的官方GitHub發布頁面下載最新的二進制文件。例如,使用wget命令: wget…

IoT 小程序:如何破解設備互聯的碎片化困局?

一、IoT 設備管理為何需要輕量化解決方案&#xff1f;隨著物聯網設備規模爆發式增長 —— 預計 2025 年全球連接數將達 270 億臺&#xff0c;傳統 Native 應用開發模式的弊端日益凸顯&#xff1a;某智能家居廠商開發 3 款主流設備 APP&#xff0c;需維護 iOS/Android/ 小程序 3…

Word 怎么讓字變大、變粗、換顏色?

這是Word中最常用也最基礎的操作之一。學會它&#xff0c;你的文檔就會立刻變得重點突出&#xff0c;清晰易讀。 記住一個核心前提&#xff1a;無論做什么格式修改&#xff0c;第一步永遠是【先選中你要修改的文字】。 你可以把鼠標放在文字的開頭&#xff0c;按住左鍵&#xf…

Ruby 安裝 - Linux

Ruby 安裝 - Linux 引言 Ruby 是一種廣泛使用的高級編程語言,以其簡潔、優雅和強大的功能而聞名。在 Linux 系統上安裝 Ruby 是許多開發者的首要任務。本文將詳細介紹如何在 Linux 系統上安裝 Ruby,包括準備工作、安裝過程和常見問題解決。 準備工作 在開始安裝 Ruby 之前…

數組的應用示例

任意輸入【0,9】范圍內的整數&#xff0c;統計輸入的每一種數字的個數并輸出&#xff0c;輸入-1結束程序 #include <stdio.h> int main(){const int number 10;int x;int i;int count[number];for ( i 0; i < number; i){count[i] 0;}printf("請輸入0&#xf…

鴻蒙智行6月交付新車52747輛 單日交付量3651輛

近日&#xff0c;鴻蒙智行公布最新銷量數據&#xff0c;6月單月全系交付52747輛&#xff0c;單日交付量3651輛&#xff0c;分別刷新鴻蒙智行單月、單日銷量歷史新高。僅用39個月實現全系累計交付80萬輛&#xff0c;創下新勢力汽車最快交付紀錄。 尊界S800自5月30日上市以來&…

基于模糊控制及BP神經網絡開關磁阻電機的matlab仿真

1.模型簡介本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2015Rb&#xff09;軟件。2.仿真算法:1&#xff09;采用轉速、轉矩雙閉環控制算法&#xff1b;2&#xff09;外環是速度環&#xff0c;采用改進復合模糊控制&#xff0c;實現速度跟蹤&#xff1b;3&#xff09;…

最新團購源碼商城 虛擬商城系統源碼 全開源

內容目錄一、詳細介紹二、效果展示1.部分代碼2.效果圖展示三、學習資料下載一、詳細介紹 最新團購源碼商城 虛擬商城系統源碼 全開源 基于PHP開發的多功能在線商城系統&#xff0c;適合個人、小型企業或創業團隊快速搭建自己的商品銷售平臺。系統界面美觀&#xff0c;功能豐富…

Visual Studio 舊版軟件下載教程

一、前言最近在開發過程中編譯使用Cuda的版本較低&#xff0c;導致與最新的Visual Studio Community 2022 17.14.8不兼容。編譯報錯如下&#xff1a;[cmake] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\yvals_core.h(902): e…

樂橙亮相2025廣州建博會:用AI重新定義家庭安全與技術邊界

在智能鎖邁入AI新時代的關鍵節點&#xff0c;誰才是真正的技術引領者&#xff1f;2025年廣州建博會&#xff0c;樂橙用一場“不炫技、重本質”的深度展演給出了答案。智哪兒在現場了解到&#xff0c;在A區3.1-28展位&#xff0c;樂橙圍繞“智啟新境 All in Intelligent”這一主…

快速搭建服務器,fetch請求從服務器獲取數據

1.strapi首先strapi是一個api管理系統&#xff0c;可以讓我們直接用網頁的形式去定義自己的api&#xff0c;包括設置模型和權限等功能。首先直接在項目目錄里面安裝庫。npx create-strapilatest server --quickstart這樣就可以直接在項目目錄創建一個連接數據庫的服務器了。不用…

UGF開發記錄_3_使用Python一鍵轉換Excle表格為Txt文本

使用UnityGameFramework日常記錄_3_配一鍵轉換配置表 該系列只做記錄 不做教程 所以文章簡潔直接 會列出碰到的問題和解決方案 只適合UGF萌新 為了提高效率&#xff0c;我使用Python編寫了一個腳本&#xff0c;實現了一鍵將Excel表格批量轉換為帶分隔符的Txt文件&#xff0c…

leetcode 3440. 重新安排會議得到最多空余時間 II 中等

給你一個整數 eventTime 表示一個活動的總時長&#xff0c;這個活動開始于 t 0 &#xff0c;結束于 t eventTime 。同時給你兩個長度為 n 的整數數組 startTime 和 endTime 。它們表示這次活動中 n 個時間 沒有重疊 的會議&#xff0c;其中第 i 個會議的時間為 [startTime[i]…

大型語言模型(LLM)的最新研究進展及相關新信息技術

大型語言模型(LLM)的最新研究進展及相關新信息技術 一、Google的Gemini 2.0系列 1. Gemini 2.0 Flash Thinking 核心技術:引入“推理時計算”(Inference-Time Computation)機制,支持模型在回答復雜問題前自主“思考”,顯著提升數學和代碼任務的準確性。多模態能力:支…

c++-友元函數和友元類

友元友元提供了一種突破封裝的方式&#xff0c;有時提供了便利。但是友元會增加耦合度&#xff0c;破壞了封裝&#xff0c;所以 友元不宜多用。 友元分為&#xff1a;友元函數和友元類友元函數問題現在嘗試去在Date類里重載operator<<。無論怎樣設置參數&#xff0c;只要…