300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > NAS搭建指南一——服务器的选择与搭建

NAS搭建指南一——服务器的选择与搭建

时间:2022-04-05 01:34:10

相关推荐

NAS搭建指南一——服务器的选择与搭建

一、服务器的选择

有自己的本地的公网 IP 的请跳过此篇文章按需求选择一个云服务器,目的就是为了进行 frp 的搭建,完成内网穿透我选择的是腾讯云服务器,我的配置如下,仅供参考:

4. 腾讯云服务器官网地址

二、服务器的一些配置

1. 使用 root 权限登录

根据服务器提供的方式,在网页上登录服务器,进入命令终端终端输入sudo passwd root,设置 root 密码输入 root 的密码,按 Enter重复输入 root 的密码,按 Enter返回如下信息,即表示 root 密码设置成功

passwd: password updated successfully终端输入sudo vi /etc/ssh/sshd_config,打开 sshd_config 配置文件按/切换搜索模式,输入Authentication,并按 Enter 查找下文:

# Authentication:#LoginGraceTime 2m#PermitRootLogin prohibit-password#StrictModes yes#MaxAuthTries 6#MaxSessions 10

i切换至编辑模式,将PermitRootLogin参数修改为yes,并删除#注释符,修改后如下所示:

#LoginGraceTime 2mPermitRootLogin yes#StrictModes yes#MaxAuthTries 6#MaxSessions 10

Esc,输入:wq,保存文件并返回执行命令sudo service ssh restart,重启 ssh 服务

2. PuTTY

PuTTY 是一款Windows的一个免费的 SSH 和 Telnet 客户端,用于远程登录和管理远程计算机PuTTY 官网地址下载安装过程:略根据服务器提供的方式,在网页上登录服务器,进入命令终端(root账户登录)服务器中生成 SSH KEY:执行命令ssh-keygen,一路回车即可生成的 SSH KEY 保存在/root/.ssh中安装 putty 工具:执行命令apt-get install putty-tools将 SSH KEY 转化成 PUTTY KEY:执行命令puttygen ~/.ssh/id_rsa -o ~/.ssh/id.ppk修改 authorized_keys:执行命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys执行命令sudo service ssh restart,重启 ssh 服务下载 id.ppk 到本地 Windows 电脑Windows 电脑上打开 PuTTY,点击 Connection --> Seconds between keepalives 填写 10点击 Data --> Auto-login username 填写 root -->双击 SSH -->双击 Auth -->点击 Credentials --> private key file for authentication 选择刚刚生成的id.ppk点击 Session --> Host Name 填写服务器的 IP 地址–> Port 填写 22 --> Connection type 选择 SSH -->其他配置默认即可 -->点击 Save,保存配置(下一次直接选择保存的配置,点击 load,就可以调出前面设置的所有配置)–>点击 Open -->这样就通过 SSH 连接了服务器

3. WinSCP

WinSCP 是一个免费的开源 SFTP、SCP 和 FTP 客户端,用于在 Windows 操作系统上进行文件传输和管理WinSCP官网地址下载安装过程:略Windows 电脑上打开 WinSCP,主机名填写服务器地址,用户名填写 root,密码为上面设置的 root 的密码点击保存点击登录,即可自由使自己的 Windows 电脑与服务器自由传输文件

4. VSCODE

VSCODE 安装步骤:略安装插件 Remote - SSH点击侧边栏图标如下

点击侧边栏中的“+”输入ssh root@服务器地址根据弹出的提示,即可连接到云服务器,在本地的电脑上,打开并方便的编辑云服务器上的文件

三、frp的搭建

1. Linux 服务器中服务端的搭建

FRP 官网地址FRP 的安装及使用文档FRP 的 GitHub 地址服务端我选择搭建在云服务器上(因为它有公网 IP)在 GitHub 的下载地址中下载相应的 FTP 安装包我选择的是 frp_0.51.2_linux_amd64.tar.gz 与 frp_0.51.2_windows_amd64.zip将 frp_0.51.2_linux_amd64.tar.gz 解压,并通过 WinSCP 上传到服务器中通过 PuTTY 登录服务器将服务器中的 frp_0.51.2_linux_amd64 移动到 frp 文件夹中:执行命令mv /root/frp_0.51.2_linux_amd64 /root/frp执行命令rm -rf /root/frp/frpc*,删除客户端内容执行命令chmod u+x /root/frp/*,为 FRP 增加可执行权限通过 VSCODE 编辑/root/frp/frps.ini,内容如下:

[common]# 常用配置# 服务端监听地址bind_addr = 0.0.0.0# 服务端监听端口:接收 frpc 的连接bind_port = 7000# 日志文件地址 & 日志等级 & 日志文件保留天数log_file = ./frps.loglog_level = infolog_max_days = 7# 服务端和客户端心跳连接的超时时间heartbeat_timeout = 90# 鉴权方式authentication_method = token# 鉴权使用的 token 值token = 123456789# 最大连接池大小max_pool_count = 5# 启用 Dashboard 监听的本地地址dashboard_addr = 0.0.0.0# 启用 Dashboard 监听的本地端口dashboard_port = 7500# HTTP BasicAuth 用户名dashboard_user = root# HTTP BasicAuth 密码dashboard_pwd = 123456# 基础配置# 服务端监听 KCP 协议端口kcp_bind_port = 0# 服务端监听 QUIC 协议端口quic_bind_port = 0# quic 协议 keepalive 间隔,单位: 秒quic_keepalive_period = 10# quic 协议的最大空闲超时时间,单位: 秒quic_max_idle_timeout = 30# quic 协议最大并发 stream 数quic_max_incoming_streams = 100000# 代理监听地址# proxy_bind_addr = 0.0.0.0# 禁用标准输出中的日志颜色disable_log_color = false# 服务端返回详细错误信息给客户端detailed_errors_to_client = true# tcp_mux 的心跳检查间隔时间tcp_mux_keepalive_interval = 60# 和客户端底层 TCP 连接的 keepalive 间隔时间,单位秒tcp_keepalive = 7200# 用户建立连接后等待客户端响应的超时时间user_conn_timeout = 10# 代理 UDP 服务时支持的最大包长度udp_packet_size = 1500# TLS 服务端证书文件路径# tls_cert_file = # TLS 服务端密钥文件路径# tls_key_file = # TLS CA 证书路径# tls_trusted_ca_file = # 打洞策略数据的保留时间nat_hole_analysis_data_reserve_hours = 168# 权限验证# 开启心跳消息鉴权authenticate_heartbeats = false# 开启建立工作连接的鉴权authenticate_new_work_conns = false# 管理配置# 允许代理绑定的服务端端口# allow_ports = 1000-2000,2001,3000-4000# 限制单个客户端最大同时存在的代理数 0 表示没有限制max_ports_per_client = 0# 只接受启用了 TLS 的客户端连接tls_only = false# Dashboard, 监控# 是否启用 TLS 模式dashboard_tls_mode = false# TLS 证书文件路径# dashboard_tls_cert_file = # TLS 密钥文件路径# dashboard_tls_key_file = # 是否提供 Prometheus 监控接口 需要同时启用了 Dashboard 才会生效enable_prometheus = false# 静态资源目录 Dashboard 使用的资源默认打包在二进制文件中,通过指定此参数使用自定义的静态资源# asserts_dir = # 启动 Go HTTP pprof 用于应用调试pprof_enable = false# HTTP & HTTPS# 为 HTTP 类型代理监听的端口 启用后才支持 HTTP 类型的代理,默认不启用vhost_http_port = 0# 为 HTTPS 类型代理监听的端口 启用后才支持 HTTPS 类型的代理,默认不启用vhost_https_port = 0# HTTP 类型代理在服务端的 ResponseHeader 超时时间vhost_http_timeout = 60# 二级域名后缀# subdomain_host = # 自定义 404 错误页面地址# custom_404_page = # TCPMUX# 为 TCPMUX 类型代理监听的端口 启用后才支持 TCPMUX 类型的代理,默认不启用tcpmux_httpconnect_port = 0# 是否透传 CONNECT 请求 通常在本地服务是 HTTP Proxy 时使用tcpmux_passthrough = false

执行命令./frps -c ./frps.ini,启动 FRP 服务端

登录腾讯云服务器官网–>点击控制台–>点击我的资源中的云服务器–>进入已有实例

点击安全组–>点击出站规则–>点击编辑规则

点击入站规则–>点击添加规则

类型选择自定义–>目标0.0.0.0/0-->协议端口填写TCP:7000,7500–>策略选择允许–>备注填写FRP–>点击确定完成 FRP 监控面板端口开放,配置如下所示

打开服务器地址:7500,内容如下所示,FRP 服务端配置成功

2. 服务端的 FRP 开机自启动

通过 VSCODE 创建/etc/systemd/system/frps.service,内容如下:

[Unit]# 服务名称Description = frp_serverAfter = network.target syslog.targetWants = network.target[Service]Type = simple# 启动frps的命令ExecStart = /root/frp/frps -c /root/frp/frps.ini[Install]WantedBy = multi-user.target

使用 systemd 命令,管理 frps,具体命令如下:

# 启动frpsystemctl start frps# 停止frpsystemctl stop frps# 重启frpsystemctl restart frps# 查看frp状态systemctl status frps

配置 frps 开机自启,具体命令如下:

systemctl enable frps

3. Windows 电脑中客户端的搭建

解压 Windows 版本 FRP 安装包 frp_0.51.2_windows_amd64.zip我将所有解压得到的内容移动到目录D:\FRP中打开 CMD输入以下命令,删除服务端内容:

cd D:\FRPrm frps*

通过 VSCODE,编辑D:\FRP\frpc.ini,内容如下:

[common]# 常用配置# 服务器 IP 地址server_addr = xxx.xxx.xxx.xxx# 连接服务端的端口server_port = 7000# 日志文件地址 & 日志等级 & 日志文件保留天数log_file = ./frpc.loglog_level = infolog_max_days = 7# tcp_mux 的心跳检查间隔时间,单位:秒tcp_mux_keepalive_interval = 60# 向服务端发送心跳包的间隔时间 建议启用 tcp_mux_keepalive_interval,将此值设置为 -1heartbeat_interval = -1# 和服务端心跳的超时时间heartbeat_timeout = 90# 鉴权方式 需要和服务端一致authentication_method = token# 鉴权使用的 token 值 需要和服务端设置一样的值才能鉴权通过token = 123456789# 启用 AdminUI 监听的本地地址admin_addr = 0.0.0.0# 启用 AdminUI 监听的本地端口admin_port = 7500# HTTP BasicAuth 用户名admin_user = root# HTTP BasicAuth 密码admin_pwd = 123456# 基础配置# xtcp 打洞所需的 stun 服务器地址 :3478# nat_hole_stun_server = # 连接服务端时所绑定的本地 IP# connect_server_local_ip = # 连接服务端的超时时间dial_server_timeout = 10# 和服务端底层 TCP 连接的 keepalive 间隔时间,单位秒 负数不启用dial_server_keepalive = 7200# 连接服务端使用的代理地址 格式为 {protocol}://user:passwd@192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm# http_proxy = # 禁用标准输出中的日志颜色disable_log_color = false# 连接池大小pool_count = 0# 用户名 设置此参数后,代理名称会被修改为 {user}.{proxyName},避免代理名称和其他用户冲突# user = Vaciller# 使用 DNS 服务器地址 默认使用系统配置的 DNS 服务器,指定此参数可以强制替换为自定义的 DNS 服务器地址# dns_server = # 第一次登陆失败后是否退出login_fail_exit = true# 连接服务端的通信协议protocol = tcp# 协议 keepalive 间隔,单位: 秒quic_keepalive_period = 10# quic 协议的最大空闲超时时间,单位: 秒quic_max_idle_timeout = 30# quic 协议最大并发 stream 数quic_max_incoming_streams = 100000# 启用 TLS 协议加密连接tls_enable = tool# TLS 客户端证书文件路径# tls_cert_file = # TLS 客户端密钥文件路径# tls_key_file = # TLS CA 证书路径# tls_trusted_ca_file = # TLS Server 名称 为空则使用 server_addr# tls_server_name = # TLS 不发送 0x17 当为 true 时,不能端口复用disable_custom_tls_first_byte = true# 服务时支持的最大包长度 服务端和客户端的值需要一致udp_packet_size = 1500# 指定启用部分代理 当配置了较多代理,但是只希望启用其中部分时可以通过此参数指定,默认为全部启用# start = # 附加元数据 会传递给服务端插件,提供附加能力# meta_xxx = # 权限验证# 开启心跳消息鉴权 需要和服务端一致authenticate_heartbeats = false# 开启建立工作连接的鉴权 需要和服务端一致authenticate_new_work_conns = false# UI# 静态资源目录 AdminUI 使用的资源默认打包在二进制文件中,通过指定此参数使用自定义的静态资源# asserts_dir = # 启动 Go HTTP pprof 用于应用调试pprof_enable = false

在 CMD 中执行命令./frpc -c ./frpc.ini,启动客户端打开Windows IP:7500/,内容如下所示,FRP 客户端配置成功

具体需要详细进行内网穿透的内容与配置,会在后文中进行详细说明

4. 客户端的 FRP 开机自启动

通过 VSCODE,编辑D:\FRP\frp.bat,内容如下:

@echo offsetlocalset appName=D:\FRP\frpc.exeecho "Start %appName% ..."D:\FRP\frpc.exe -c D:\FRP\frpc.iniendlocalPauseexit

win+r,输入gpedit.msc,打开本地组策略编辑器选择用户配置–>双击 Windows 设置–>选择脚本(登录/注销)–>双击登录–>选择添加–>选择浏览–>找到刚刚编辑的 frp.bat -->选择打开–>选择确定–>选择确定此时重启 Windows 电脑,FRP 客户端即可开机自启

四、NGINX 的搭建

NGINX 官方网站地址NGINX 官方安装文档地址打开 PuTTY 登录服务器输入apt-get install nginx,安装 NGINX输入nginx -v,查看 NGINX 版本信息输入systemctl status nginx,查看服务运行状态,运行效果如下

浏览器访问服务器地址,会自动跳转到如下页面

输入systemctl enable nginx,使 NGINX 完成开机自启动使用命令systemctl restart nginx,即可使 NGINX 完成重启输入命令ln -s -d /etc/nginx nginx,将 NGINX 的配置文件链接到一个容易找到的位置(在你想要进行连接的位置执行)具体使用配置在后文中会有详细介绍

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。