Organizations

46 results for 部署
  • 搭建局域网DNS 现在因为某个原因, 导致本地 DNS 对网络影响特别严重, 所以建议本地如果有能力可以自己搭建 DNS 服务器来进行部署. 默认的 Ubuntu 之中会默认开启 systemd-resolved.service 监听 53 端口来做本地域名解析, 所以需要将他关闭: # 编辑默认服务文件 sudo vim /etc/systemd/resolved.conf # 找到如下配置修改如下: # DNSStubListener=no # 之后重启下服务即可 sudo systemctl restart systemd-resolved.service 之后直接采用 SmartDns 的服务进行管理: # 直接系统服务安装 sudo apt install smartdns -y # 安装之后就是编辑下配置文件 sudo vim /etc/smartdns/smartdns.conf 需要配置文件如下: # dns server name, default is host name # lookup 局域网配置的开放dns名称 server-name meteorcat-dns # dns cache size # dns 换成容量 cache-size 65536 # enable persist cache when restart # 重启之后的持久缓存 cache-persist yes # cache persist file # 持久缓存保存目录 cache-file /tmp/smartdns.
    部署 Created Fri, 29 Sep 2023 15:38:53 +0800
  • Nginx 禁用IP Nginx 支持IP端访问禁用启用访问, 直接在配置项目定义即可, 默认定义禁用IP名单: # 创建禁用IP目录 sudo mkdir /etc/nginx/block.d # 创建通用的IP禁用项目 sudo vim /etc/nginx/block.d/normal.conf 常规文件格式: # 优先识别禁用不允许访问的IP deny 68.183.69.58; # 禁用访问子网段: 68.183.69.0~68.183.69.255 的IP deny 68.183.69.0/24; # 默认允许全部IP访问 allow all; 这里推荐常规通用禁用IP的名单: blacklist 通用直接采用脚本处理下配置: # 调出所有IP访问附加上禁用IP数据 curl https://sblam.com/blacklist.txt | sed -e '/^#/d' | awk '{print "deny "$0";"}' > /tmp/block.txt # 追加最后的开放配置 echo "allow all;" >>/tmp/block.txt # 移动配置项到Nginx目录 sudo mv /tmp/block.txt /etc/nginx/block.d/block.conf 这里只需要在 http/server/location 配置之中就行了: http { # 引入配置文件 include /etc/nginx/block.d/block.conf; } 这样就能做到指定服务的IP配置了.
    部署 Created Fri, 29 Sep 2023 12:54:18 +0800
  • SteamCMD搭建 这里采用 Debian11 版本, 建议跟随最新版本来配置防止系统库不兼容 SteamCMD官方文档 SteamCMD安装 默认 Linux 发行版都没有配置32位系统库和非开源软件源, 有的 Steam 系统库依赖32位系统库和非开源软件源, 输入以下命令追加: sudo dpkg --add-architecture i386 # 配置 32 位库 sudo apt install -y software-properties-common # 启用非开源软件配置 sudo add-apt-repository non-free # 配置启用非开源库 sudo apt update -y # 更新软件 在配置好非开源的软件源之后就可以直接通过系统命令安装 Steam 命令行: # 安装steamcmd, 确认同意非开源协议即可( I Agree ) sudo apt install -y steamcmd libsdl2-dev:i386 配置管理权限 这里需要配置专门管理 Steam 服务器的系统账号; 除非很有经验, 否则最好不要默认采用 root 账号管理配置服务, 输入命令: sudo useradd -m steam # 配置专门的管理账号 sudo ls -l /home/steam # 查看用户目录列表 配置好就是让这个账号执行所有 SteamCMD 操作:
    部署 Created Fri, 29 Sep 2023 12:53:22 +0800
  • 自定义Nginx输出 这种方式实际上是特别有用且被人忽略的配置, 能够有效节约某些负载情况. 比如以下情况: 如果服务器宕机返回 404 错误但是要求返回 JSON 根据 POST 请求返回 JSON. 需要设置在某个页面只需要设置固定文本展示在页面 设置域名之下的展示 PUBLIC_KEY 来展示公钥数据提供准备解密文本 这种方法适合常规的固定字符串数据展示, 但是需要注意必须要在 http-server-location 块之中. # 必须在 http 块中配置 http { ...... # 声明默认的 UTF-8 编码 charset utf-8; # 一般其他配置文件都是防止于 `/etc/nginx/conf.d/xxx.conf` # 这里当作其他配置选项设置 server{ listen 80; # 这里可以直接配置访问的配置 # 访问地址为: http://127.0.0.1/ location / { # 设置默认的返回格式 default_type text/html; # 这里返回 http 为了兼容中文最好添加头信息 add_header Content-Type 'text/html; charset=utf-8'; # 设置返回的内容和状态码( 200 ) return 200 'hello.world!中文'; } # 设置 JSON 返回数据格式 # 访问地址: http://127.
    部署 Created Fri, 29 Sep 2023 12:51:58 +0800
  • ACME签发HTTPS 确保域名已经指向服务器IP, 如果采用 CloudFlare 等 CDN 隐藏真实IP地址需要先关闭. 初始化安装 这里用 root 权限来挂起这些服务, 主要是方便直接一键处理, 具体正式环境的实际最好创建低权限账号来调用. 首先是官方脚本安装, 输入以下命令行: sudo apt install -y socat curl # 安装网络请求软件 sudo curl https://get.acme.sh | sh # 下载并安装 acme 脚本 sudo 代表使用最高权限安装, 会在生成的应用配置软件会在其家目录之中, 这也就是提到的可能涉及安全的点. 所有操作步骤没报错的时候, 就可以进行下一步配置命令: acme.sh --set-default-ca --server letsencrypt # 切换证书源为 letsencrypt 而非 zerossl( zerossl需要邮箱认证 ) acme.sh --upgrade --auto-upgrade # 设置自动升级更新 这一步还是比较重要的, 新版本的 acme 里面默认配置 ZeroSSL 服务器作为证书服务器, ZeroSSL 是需要邮件手动去认证的, 很可能按照老版本操作过程没办法申请证书. 证书认证 默认的有的认证方式: HTTP认证, 会在访问 HTTP:80(要求必须已经开放80端口服务) 访问目录生成一个 .wellxxxx 的文件夹提供认证.
    部署 Created Fri, 29 Sep 2023 12:50:26 +0800
  • 自签名证书 按照第三方原理来说, https 访问实际上通过第三方证书机构来认证访问过程, 个人可以自己扮演这个第三方证书机构来颁发证书, 同时只需要客户端信任自己颁发的证书就能直接进行 https 访问. 证书生成 这里首先需要在 Linux 上创建自己的 openssl 证书: # 创建证书和私钥 sudo openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \ -keyout /data/ssl/private.meteorcat.com.key \ -out /data/ssl/private.meteorcat.com.crt 这里具体参数: req: 生成证书指令, -x509: 默认创建生成 X.509 证书. -nodes: 不采用短密码对证书进行进一步加密. -days 3650: 证书有效时间(单位: 天), 自己按照习惯常用调整时间. -newkey rsa:4096: 证书加密密钥和加密方式, 这里按照采用4096位RSA密钥. -keyout: 生成的私钥文件路径 -out: 生成的证书路径. 输入之后会要求输入证书信息: Country Name: 国家码, 中国采用 CN State or Province Name: 地区省份码, 这里设置 Guang Dong Locality Name (eg, city): 城市地区, 这里设置 Guang Zhou Organization Name: 组织名称, 这里设置自定义组织名 MeteorCat Develop, Inc.
    部署 Created Fri, 29 Sep 2023 12:44:39 +0800
  • Nginx代理转发 Nginx 现在的代理转发功能已经日趋完善, 可以用来进行大规范的数据负载转发, 比较知名的方案就是 Nginx-Tomcat/Nginx-Jar 的转发负载架构. 常见的 Java 高并发负载也是通过 Nginx 挂起代理转发到不同 Jar 服务进行处理. Nginx 有两种转发方式: HTTP转发: 只针对 HTTP 数据转发, 可以通过设置代理头转发源客户端数据. Stream转发: 针对 TCP/UDP 的数据流转发, 目前转发的时候无法识别源IP. 如果仅仅作为流量不需要做任何日志和IP判断可以采用 Stream 转发, 剩下只要不涉及这种情况完全不推荐( 应该采用专门的 HAProxy 转发数据 ) Stream转发 这里说明 Stream 转发两种方式: TCP/UDP: # 注意 Stream 转发不会涉及 HTTP 模块, 所以不需要在 HTTP 之中编写 http{ ....... } # 这里直接和 http 模块一样, 创建出新的模块 stream { # 这里可以追加其他默认配置, 比如重设日志输出格式 log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; # 设置默认的日志访问 access_log /var/log/nginx/proxy.
    部署 Created Fri, 29 Sep 2023 12:43:26 +0800
  • 内网集群架构(tinc) 常用于中小企业内部网络开发, 如外网服务器负责网络转发到内部公司网络服务器, 将数据功能转发到内网服务器当中, 将数据在广域网缩小成局域网处理. 这里采用 tinc 来搭建内网局域网, 首先这里假设外网服务器 111.111.111.111 来做外网路由, 也就是外网服务器. 注意这里最好对外公网暴露好端口号作为路由接入端口, 建议加入以 7000 做网段, 预留好端口 7000 来做其他内网服务器接入口, 而 7001-7999 则是需要暴露转发的服务. 同时这里注意开启内核转发: # 查看 ip_forward 转发是否开启 sysctl -a|grep ip_forward # 首次开启 sudo echo 1 > /proc/sys/net/ipv4/ip_forward # 启用 tun 设备 sudo modprobe tun # 确认是否启用成功 ls /dev/net/tun 这里 Ubuntu 环境来做发行版环境, 首先可以安装 tinc : sudo apt install tinc # 安装 tinc, 主网服务器和子网服务器都要 这里可以查看 tinc 在系统服务配置( /lib/systemd/system/[email protected] ): [Unit] Description=Tinc net %i Documentation=info:tinc Documentation=man:tinc(8) man:tinc.
    部署 Created Fri, 29 Sep 2023 12:37:41 +0800
  • Samba服务器搭建 这里采用 Ubuntu 的 apt 源安装方式, 所以直接采用最简单部署即可. 直接最快安装: # 安装 samba 服务 sudo apt install samba 常规来说内网 samba 服务都是基于局域网, 所以内网的话只需要进行公网直接开放即可. 这里还需要准备个系统账号(smb)负责进行服务管理: # 创建不允许登录的账户 sudo useradd smb -s /sbin/nologin # 设置 smb 管理账户密码进行最高管理 # 实际上内网全部人都有可以读写删除等, 没什么其他意义 sudo smbpasswd -a smb 账号信息配置之后就是设置硬盘空间来放置文件, 这里本人服务器挂载了 /storage 新硬盘, 所以文件都是放置于此: sudo mkdir /storage/smb # 创建目录放置 sudo chown -R smb:smb /storage/smb # 目录权限 sudo chmod -R 777 /storage/smb # 读写权限 配置修改 最后就是完成配置修改: /etc/samba/smb.conf #======================= 全局配置 ======================= [global] #### Browsing/Identification #### # 设置为与Windows一样的workgroup, 实际上默认即可 workgroup = WORKGROUP # 服务器连接时候输出给客户端标题内容 server string = %h server (Samba, Ubuntu) # 注意配置以下字符串, 设置window采用 cp932(gbk)/linux采用 utf8 dos charset = cp932 unix charset = UTF8 display charset = UTF8 #### Networking #### # 网络绑定端口设置实际上不需要修改 #### Debugging/Accounting #### # 日志文件 log file = /var/log/samba/log.
    部署 Created Fri, 29 Sep 2023 01:20:23 +0800
  • Aria2 部署搭建 有时候个人服务器需要用到 BT 离线下载功能, 这种时候就需要用到 aria2 来搭建服务. 以下服务搭建基于 debian 系的发行版, redhat 其实流程也差不多 这里直接通过命令行安装配置就行: # 安装配置软件 sudo apt install aria2 # 查看软件版本, 我这边目前版本是 1.37.0 aria2c --version 确认目前完版本之后就是就是准备为服务配置系统相关设置. 系统管理 这里需要创建新的 Linux 账号来托管下载权限, 并且设置主要配置文件夹: # 构建名为 aria2 的系统托管用户 # -r: 系统账号 # -s: 不允许 shell 交互 sudo useradd -r -s /sbin/nologin aria2 # 默认会创建 aria2 组, 但是如果安装 nginx 需要暴露访问的话建议加入 www-data 组 sudo usermod -aG www-data aria2 # 确认用户分配的信息 id aria2 # 创建系统配置目录和文件和赋予权限 sudo mkdir /etc/aria2 sudo touch /etc/aria2/aria2.
    部署 Created Fri, 29 Sep 2023 01:20:10 +0800