Icarus 环境搭建完整指南:Python 3.6、Node.js、PostgreSQL 与 Redis 从零配置 Icarus 环境搭建完整指南Python 3.6、Node.js、PostgreSQL 与 Redis 从零配置【免费下载链接】Icarus️ An opensource community/forum project write with python3 aiohttp and vue.js. 一个开源的社区程序临时测试站https://t.myrpg.cn项目地址: https://gitcode.com/gh_mirrors/ic/IcarusIcarus 是一款用 Python 3.6 aiohttp 与 Vue.js 编写的开源社区/论坛程序前后端分离、支持 Markdown 发帖、实时在线人数、全文搜索等功能。本文将提供一份面向新手的 Icarus 环境搭建完整指南从零配置 Python 3.6、Node.js、PostgreSQL 与 Redis 四大基础依赖再到后端与前端服务的启动全程图文并茂、分步讲解帮助你快速在本地跑起属于自己的社区站点。搭建前准备克隆项目源码在开始安装各种依赖之前先把项目代码拉取到本地git clone https://gitcode.com/gh_mirrors/ic/Icarus项目根目录下backend/是 Python 后端的全部代码根目录则是 Vue.js 前端基于 Nuxt。官方的完整部署步骤可以参考项目内的 misc/how-to-deploy.md本文在此基础上做了更细致的拆解。小提示前端安装 node_modules 等待时间较长建议先把环境依赖装好再让前后端安装同步进行能节省不少时间。第一步安装 Python 3.6 运行环境后端基于 aiohttp 异步框架要求 Python 3.6 及以上版本依赖清单见 backend/Pipfile。不同系统有不同装法任选其一即可Windows直接安装 Anaconda3 或 Python 官方安装包勾选“Add to PATH”即可。LinuxArch 等新发行版系统自带的 Python 通常已满足 3.6无需额外操作。Linux自带版本较低推荐使用pyenv管理多版本 Python依次执行pyenv update、pyenv install 3.6.x最后用pyenv local 3.6.x切换版本。Debian/Ubuntu可通过deadsnakesPPA 快速安装命令如下sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install -y python3.6 python3.6-dev python3.6-venv安装完成后用python3.6 --version验证版本号确认无误再进行下一步。第二步安装 Node.js 前端运行环境前端代码基于 NuxtVue.js需要 Node.js 环境来执行依赖安装与打包。建议安装 LTS 长期支持版本通过包管理器安装最省事# Ubuntu / Debian curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs # CentOS / RHEL curl -sL https://rpm.nodesource.com/setup_10.x | bash -装好后执行node -v与npm -v确认安装成功。若出现 npm 版本过旧的问题可以先升级 npm 再继续。第三步安装 PostgreSQL 并初始化数据库Icarus 使用 PostgreSQL 作为主数据库9.6 以上版本均可需要创建专用数据库、用户并启用hstore与citext两个扩展。以 Ubuntu 为例添加 PostgreSQL 官方源后安装sudo apt-get install -y postgresql-11装好后切换到 postgres 用户进入 psql 交互界面完成初始化sudo su postgres psql在 SQL Shell 中依次执行CREATE DATABASE icarus; CREATE USER icarus WITH PASSWORD IcaruStest123; GRANT ALL ON DATABASE icarus TO icarus; \c icarus; CREATE EXTENSION IF NOT EXISTS hstore; CREATE EXTENSION IF NOT EXISTS citext;⚠️ 两个扩展缺一不可否则后端启动时读写数据库会报错。请记住你设置的数据库名、用户名与密码后面配置private.py时要用到。第四步安装 Redis 缓存服务Redis 负责 Icarus 的会话、在线人数等实时数据存储安装非常简单直接用系统的包管理器即可# Ubuntu / Debian sudo apt-get install -y redis-server # CentOS / RHEL sudo yum install -y redis启动服务并确认状态sudo service redis-server start redis-cli ping # 返回 PONG 即表示连接成功Windows 用户可以使用微软提供的二进制版本安装包安装后默认监听 6379 端口。第五步安装后端依赖并启动服务使用 pipenv 安装依赖后端建议用 pipenv 管理虚拟环境。先安装 pipenv再切到backend目录安装依赖sudo pip install pipenv cd backend pipenv install如果安装过程一直卡在 Locking 阶段pipenv 的老毛病可以加--skip-lock参数跳过锁定步骤速度会快很多。Windows 用户注意安装 aioredis 时可能因依赖的 hiredis 编译失败而报错。Anaconda 用户可执行conda install hiredis其他用户可直接从 conda-forge 渠道下载编译好的包解压出site-packages/hiredis放入自己的 site-packages 目录即可。生成并修改 private.py 配置依赖装完后启动后端注意这里有个重要机制首次运行会自动生成private.py并退出文件内容由 backend/misc/setup.py 生成用于覆盖 backend/config.py 中的默认配置pipenv shell python main.py看到 “private.py generated” 提示并退出后用编辑器打开backend/private.py重点检查以下几项SITE_URL站点地址末尾不要带/DATABASE_URI改为你第三步创建的 PostgreSQL 连接串例如postgresql://icarus:IcaruStest123localhost/icarusREDIS_URI默认为redis://localhost:6379一般无需改动USER_SECURE_AUTH_FRONTEND_SALT密码加密盐已在首次生成时自动随机化保持默认即可修改完成后再次执行python main.py后端即可正常启动默认监听127.0.0.1:9999。第六步安装前端依赖并启动开发服务回到项目根目录安装前端依赖npm install如果只是想在本地开发环境预览效果在后端已启动的前提下执行npm run serve浏览器访问 Nuxt 默认端口即可看到论坛页面。第一个注册的用户将自动成为管理员这也是管理后台的入口。第七步可选Nginx 单端口部署方案如果你需要对外提供服务推荐使用项目自带的“单端口方案”将前端挂在某个域名/端口后端映射到同一域名的/api下从而绕过浏览器同源策略简化配置。先在根目录新建private.js指定前后端地址var host 127.0.0.1:9999 // 服务端渲染访问的本地后端地址 if (process.browser) { // 浏览器中API访问的后端地址 host window.location.host } export default { remote: { API_SERVER: http:// host, WS_SERVER: ws:// host /ws } }然后构建前端npx nuxt build npx nuxt start项目已内置 Nginx 配置模板 misc/nginx/icarus.conf默认整站使用 9001 端口对外提供服务前端映射 3000 端口、后端映射/api与/ws。安装 nginx 后直接复制启用sudo apt install nginx sudo cp misc/icarus.conf /etc/nginx/conf.d/编辑/etc/nginx/conf.d/icarus.conf把注释掉的# root /home/{user}/Icarus/dist;改为你的实际路径然后重启sudo service nginx restart访问服务器 IP 的 9001 端口就能看到完整的社区页面了。常见问题排查清单后端启动即退出多半是首次运行生成了private.py按第五步修改后再启动即可。数据库连接失败检查 PostgreSQL 是否启动、DATABASE_URI是否正确、hstore/citext扩展是否已创建。Redis 连接超时确认redis-cli ping返回 PONG并检查防火墙是否放行 6379 端口。pipenv 安装卡顿改用pipenv install --skip-lock或检查网络代理。前端页面接口 404确认后端已启动、端口一致且private.js中的 API 地址与 Nginx 配置匹配。总结至此你已经完成了 Icarus 的完整环境搭建Python 3.6 提供异步后端运行时Node.js 支撑 Vue.js 前端构建PostgreSQL 存储论坛数据Redis 负责实时缓存四者配合 Nginx 即可组成一套可对外服务的开源社区系统。如果在搭建过程中遇到问题建议对照项目内的 misc/how-to-deploy.md 逐项复查希望这份 Icarus 环境搭建完整指南能帮你顺利跑通整个流程早日拥有自己的社区站点。【免费下载链接】Icarus️ An opensource community/forum project write with python3 aiohttp and vue.js. 一个开源的社区程序临时测试站https://t.myrpg.cn项目地址: https://gitcode.com/gh_mirrors/ic/Icarus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考