Linux 上搭建一个 CS2 服务器

本文详细指导如何在Linux上安装和设置CS2modded-server,包括下载依赖、安装脚本执行、内网穿透方法(NATApp和FRP)、服务器启动、模式和地图切换,旨在帮助玩家创建私有游戏环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux 上搭建一个 CS2 服务器

相关连接

https://github.com/kus/cs2-modded-server?tab=readme-ov-file#changing-game-modes

关于

本文章教你如何搭建一个CS2专用服务器,不仅可以开黑、举办比赛,甚至可以使用创意工坊地图和朋友娱乐。

我将带你一步一步搭建 cs2-modded-server 项目,并教你内网穿透,和朋友联机。

搭建好后包含一下模式:

  • 搭档
  • KZ 攀岩
  • Bhop 连跳
  • 滑翔
  • 跳狙飞人
  • 小游戏
  • 陷阱跑酷
  • 狼人杀
  • 足球
  • 回防、死亡竞技、练习、竞技、MatchZy竞技、死斗、1v1…

安装好后只需要一条命令即可切换。

1 下载SteamCMD和服务端

创建CS2服务器目录
mkdir /root/cs2
cd /root/cs2
下载依赖库和后面会用到的工具
apt-get install lib32gcc-s1 vim wget git curl sudo iproute2 -y
下载SteamCMD并解压
wget https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz --no-check-certificate
mkdir /steamcmd
tar -xvf steamcmd_linux.tar.gz -C /steamcmd
# 解压到 /steamcmd

# 删除安装包
rm steamcmd.sh steamcmd_linux.tar.gz
克隆服务器端
git clone https://github.com/kus/cs2-modded-server.git
cd cs2-modded-server
<think>嗯,用户明确表示需要在麒麟操作系统上安装和配置Nginx,看来用户正在准备搭建web服务器环境。根据用户提供的引用资料,有三个主要安装途径:源码编译安装(引用1)、rpm包离线安装(引用3)、以及系统服务管理(引用2和4)。值得注意的是,引用3特别强调了银河麒麟系统必须使用官方兼容的rpm包,否则可能导致系统问题,这应该是重点提醒用户的注意事项。用户可能不太清楚不同麒麟版本(如openKylin和KylinV10)的差异,需要帮ta区分。从引用内容看,V10SP3这类企业版系统对软件兼容性要求严格,而openKylin作为开源社区版可能更灵活。引用4还提供了SFTP文件服务器的整合方案,虽然用户没直接要求,但可以保留作为进阶建议。安装方案需要按用户系统版本做分流处理:如果是V10企业版就优先推荐官方rpm安装(引用3),避免兼容性问题;如果是openKylin则提供源码安装方案(引用1)并补充systemd服务管理(引用2)。配置部分要统一涵盖防火墙、目录结构和服务启动,尤其注意nginx配置文件路径在/etc/nginx/(引用3)和站点根目录权限(引用4)。用户可能是运维人员或开发者,但未提及具体应用场景,所以补充基础测试和静态页面的步骤来降低门槛。结尾的进阶问题特意加入负载均衡配置和HTTPS部署,因为这两个是企业应用的常见需求(引用3中的高版本nginx支持这些功能)。特别注意避免引用2和3的命令冲突——在openKylin中nginx服务名可能需要用nginx.service而非单写nginx,这点需要在systemctl命令里明确区分开。</think> 好的,在麒麟操作系统(openKylin 或 Kylin Linux Advanced Server V10)上安装和配置 Nginx 主要有以下几种方式,选择哪种取决于你的具体系统版本和个人偏好(源码编译 vs 软件包安装)。下面是详细的指南: ## 安装指南 (根据系统版本选择方式) ### 🔧 方式一:通过官方仓库安装(推荐,适用于有网络环境的 openKylin / V10 SP2 及以上) ⚠️ 注意: *此方式需要官方仓库有更新版本的Nginx。* V10 SP3 的 `base` 仓库提供的是较老版本(如1.16),而 `updates` 仓库可能有新版本(如1.21)。 1. **更新系统缓存:** 确保系统软件包列表是最新的。 ```bash sudo apt update # openKylin 或 配置了APT的Kylin V10 # 或者 (如果使用的是yum/dnf) sudo yum makecache # Kylin V10 (dnf 代替 yum 同理) ``` 2. **搜索可用Nginx版本:** ```bash apt search nginx # openKylin / APT # 或者 yum list available nginx* # Kylin V10 (dnf search nginx* 或 dnf info nginx) ``` 3. **安装Nginx:** * 如果仓库中有你需要的版本(如 `nginx`): ```bash sudo apt install nginx # openKylin / APT # 或者 sudo yum install nginx # Kylin V10 (使用 dnf 则替换为 sudo dnf install nginx) ``` * 如果想安装 `updates` 仓库中更新的版本(例如SP3的`kylin-updates`中的nginx),需要先确认仓库是否已启用且包含所需包。 ### 📦 方式二:下载官方兼容的 RPM 包离线安装(适用于 Kylin Linux Advanced Server V10,特别是 SP3) ⛔ **重要提示:** *强烈建议从麒麟官方源(如update.cs2c.com.cn)获取对应系统版本的 RPM 包,使用非官方源(如CentOS)的包可能导致兼容性问题甚至系统不稳定。*(引用3) 1. **确定系统版本:** 精确获取你的麒麟系统版本。 ```bash nkvers # 或者 cat /etc/kylin-release ``` 记下你的 `Release`, `Kernel`, `Build` 信息,特别是类似 `V10 (SP3)` 的标识。 2. **下载官方兼容RPM包:** * 访问官方软件仓库查找对应的包。根据引用3的示例(SP3): * 基础包地址:`Index of /NS/V10/V10SP3/os/adv/lic/base/x86_64/Packages/` (可能包含较老版本如1.16) * 更新包地址:`https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/` (可能包含较新版本如1.21.5,需要查找包含 `nginx` 的包,通常是nginx-1.21.5-x.x86_64.rpm) * 将所需 RPM 包(可能还需要依赖包)下载到服务器本地目录(如 `~/nginx-rpms`)。 3. **安装RPM包:** 进入存放RPM包的目录,执行安装(可能需要忽略依赖检查,但官方包通常应能解决依赖)。 ```bash cd ~/nginx-rpms sudo rpm -Uvh *.rpm --nodeps --force # 或者逐个安装所需的核心包(如找到 nginx 主包) sudo rpm -ivh nginx-1.21.5*.rpm # 替换为实际包名 ``` `--nodeps --force` 选项用于强制安装(在明确兼容性前提下谨慎使用)。如果提示缺少依赖,需要去对应仓库找到并下载该依赖包一同安装。 ### 🧱 方式三:从源码编译安装(适用于自定义版本或特定配置) 🛠 此方式灵活,但步骤稍多。 1. **安装编译依赖:** ```bash # openKylin / V10 (APT) sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev wget # V10 (Yum/DNF) sudo yum install gcc make pcre pcre-devel zlib zlib-devel openssl openssl-devel wget ``` 2. **下载Nginx源码:** ```bash wget http://nginx.org/download/nginx-1.25.3.tar.gz # 替换为所需版本 tar zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3 ``` 3. **配置、编译、安装:** ```bash ./configure # 基础安装路径在 /usr/local/nginx # 可添加配置选项,例如指定路径 ./configure --prefix=/opt/nginx make sudo make install ``` 4. **(可选) 创建 Systemd 服务文件(如果使用源码安装):** 方便管理。 * 在 `/usr/lib/systemd/system/nginx.service` (或 `/etc/systemd/system/nginx.service`) 创建一个文件: ```ini [Unit] Description=The nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid # 或实际PID文件路径 # 注意以下路径和用户需要根据你的编译选项调整 ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true User=nginx # 确保系统有nginx用户 Group=nginx [Install] WantedBy=multi-user.target ``` * 使配置生效并设置开机启动: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx ``` ## 🧪 基本配置与验证 1. **防火墙:** 允许 HTTP(80) / HTTPS(443) 访问。 ```bash sudo firewall-cmd --permanent --add-service=http # 开放80端口 sudo firewall-cmd --permanent --add-service=https # 开放443端口 (如果需要) sudo firewall-cmd --reload ``` 2. **启动、停止、重启 Nginx:** * **如果安装成系统服务 (RPM包或配置了Service):** ```bash sudo systemctl start nginx # 启动 sudo systemctl stop nginx # 停止 sudo systemctl restart nginx # 重启 sudo systemctl reload nginx # 平滑重载配置(不中断连接) sudo systemctl status nginx # 查看状态 (引用2) ``` * **如果使用源码安装 *未* 配置服务:** ```bash /usr/local/nginx/sbin/nginx # 启动 (替换成你的安装路径) /usr/local/nginx/sbin/nginx -s stop # 停止 /usr/local/nginx/sbin/nginx -s reload # 重载配置 /usr/local/nginx/sbin/nginx -t # 测试配置文件语法 ``` 3. **测试安装:** 在浏览器访问服务器 IP 地址或域名 (`http://<your_server_ip>`)。应该能看到 Nginx 的默认欢迎页面 ("Welcome to nginx!")。 4. **主要配置文件:** * RPM安装/APT安装:通常主配置文件在 `/etc/nginx/nginx.conf`。(引用3) * 源码编译安装:通常在安装目录的 `conf/nginx.conf` (如 `/usr/local/nginx/conf/nginx.conf`)。 * 站点配置文件:RPM/APT 安装后,通常建议在 `/etc/nginx/conf.d/` 目录下为每个站点创建单独的 `.conf` 文件。 5. **设置开机启动(如果已配置Systemd服务):** ```bash sudo systemctl enable nginx ``` 6. **(可选) 配置静态站点:** 编辑 `/etc/nginx/conf.d/default.conf` (或创建类似 `mywebsite.conf`),示例配置如下: ```nginx server { listen 80; server_name your_domain.com www.your_domain.com; # 替换为你的域名或 IP root /usr/share/nginx/html; # 默认根目录 (RPM包安装), 替换为你的实际目录 (如 /data/www) index index.html index.htm; location / { try_files $uri $uri/ =404; autoindex on; # 如果不需要列出文件目录请关闭此项 (引用4) } } ``` 修改后,**务必运行配置测试** `sudo nginx -t` 或 `sudo systemctl reload nginx` 重载配置生效。 7. **目录访问 (类似 SFTP 共享访问示例):** 如果需要通过 Web 访问特定目录列表(如 `/opt/sftp`),可以配置如下:(引用4) ```nginx server { listen 8000; # 或其他自定义端口 server_name localhost; # 或你的域名 location / { root /opt/sftp/; index none; # 明确不设置索引文件,强制展示目录列表 autoindex on; # 开启目录列表 # autoindex_localtime on; # 按本地时间显示文件时间(可选) # autoindex_exact_size off; # 显示文件大小(K/M/G)(可选) } } ``` 保存配置并重载 Nginx。 ## ⚠️ 重要注意事项 * **系统兼容性:** Kylin Linux Advanced Server V10 **务必**使用官方提供的兼容软件包 (引用3),避免系统崩溃。 * **用户权限:** Nginx 默认以用户 `nginx` 或 `www-data` 运行。确保网站根目录(如 `/data/www`, `/opt/sftp`)对该用户有合适的读取(或写入)权限。 * **配置文件语法:** 修改配置后 `sudo nginx -t` 测试语法正确性至关重要,语法错误会导致Nginx启动或重载失败。 * **日志:** Nginx 访问日志和错误日志通常位于 `/var/log/nginx/`(RPM/APT安装)或编译安装目录下的 `logs/` 目录,用于排查问题。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deadmau5v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值