# server_maker **Repository Path**: lazypy/server_maker ## Basic Information - **Project Name**: server_maker - **Description**: 服务器部署指南 - **Primary Language**: Shell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-01-25 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # server_maker [![Fork me on Gitee](https://gitee.com/ZeroSeeker/server_maker/widgets/widget_3.svg)](https://gitee.com/ZeroSeeker/server_maker) #### 介绍 服务器快速部署脚本 - CentOS7 - installer_20220426.sh - 介绍 ```text 包含: 卸载当前安装的python3版本 安装:Python-3.8.6 安装:Redis ``` - - Rocky9 - Python_3.8.6_installer_huaweicloud.sh - 介绍 ```text 包含: 安装编译依赖 编译安装:OpenSSL-1.1.1w 编译安装:Python-3.8.6 创建:/usr/local/bin/python3.8 创建:/usr/local/bin/pip3.8 ``` - Ubuntu #### 安装教程 Python3.8.6 1. 适用于linux环境下的Python安装 - Python3的安装: - 进入服务器/root目录 - 拉取文件:git clone https://gitee.com/ZeroSeeker/server_maker.git - 进入文件夹:cd server_maker - 使用 chmod a+x Python_3.8.6_installer.sh 赋予脚本执行权限 - 使用 ./Python_3.8.6_installer.sh 执行脚本 - 如果在线下载python包太慢,可以将下载好的包上传再安装 - 依赖的安装: - 升级pip: pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple - 在本地生成依赖文件:pip3 freeze > requirements.txt - 上传到服务器:scp /Users/.../requirements.txt root@your_server_ip:/root - 安装:while read requirement; do pip3 install $requirement -i https://mirrors.aliyun.com/pypi/simple; done < requirements.txt # 报错后跳过继续执行 2. Ubuntu中无法正确安装使用yum,改为使用apt-get 3. 注意不同系统的安装依赖有所不同,需要根据自己的系统选择安装脚本 #### Rocky9 安装 Python3.8.6 Rocky9 默认 OpenSSL 版本为 3.x,Python-3.8.6 与 OpenSSL 3.x 不兼容。请使用 Rocky9 专用脚本,该脚本会先编译安装 OpenSSL-1.1.1w,再编译安装 Python-3.8.6。 脚本会自动查找 `dnf`、`dnf5`、`yum`、`microdnf`,也会尝试使用 `python -m dnf`。安装依赖时会自动启用 Rocky/EL9 常见的 CRB 仓库,下载文件时会自动在 `wget` 和 `curl` 之间选择可用工具;OpenSSL 下载会优先尝试华为云、阿里云、清华、科大、南大等国内 Debian 源镜像,再尝试 OpenSSL 官方/公开镜像,并在下载后执行 SHA256 校验。默认不访问 GitHub;如确实需要 GitHub 作为兜底源,可设置 `ALLOW_GITHUB_DOWNLOAD=1`。只有系统完全缺失 RPM 包管理能力时,脚本才会中止。 执行前会检测当前环境是否已经存在 Python3。如果存在,会提示是否覆盖安装;选择覆盖时会自动清理本脚本管理的旧 Python/OpenSSL 安装目录、构建目录、库配置和相关软链。Rocky9 系统 RPM 管理的 `/usr/bin/python3` 不会被卸载,以免破坏 `dnf/yum` 等系统工具。非交互环境如需自动覆盖,可使用 `FORCE_OVERWRITE_PYTHON3=1`。 ```shell sudo git clone https://gitee.com/ZeroSeeker/server_maker.git cd server_maker/Rocky9 sudo chmod a+x Python_3.8.6_installer_huaweicloud.sh sudo ./Python_3.8.6_installer_huaweicloud.sh ``` 非交互环境自动覆盖本脚本管理的旧安装: ```shell sudo FORCE_OVERWRITE_PYTHON3=1 ./Python_3.8.6_installer_huaweicloud.sh ``` 如果服务器访问外网不稳定,也可以先把 `openssl-1.1.1w.tar.gz` 放到 `Rocky9` 目录下,脚本会优先使用本地文件并执行 SHA256 校验。 安装完成后检查版本: ```shell /usr/local/bin/python -V /usr/local/bin/python3 -V /usr/local/bin/python3.8 -V /usr/local/bin/pip3.8 -V /usr/local/bin/python3.8 -c "import ssl; print(ssl.OPENSSL_VERSION)" ``` 默认安装位置: ```text /usr/local/python3.8.6 /usr/local/python3 -> /usr/local/python3.8.6 /usr/local/bin/python /usr/local/bin/python3 /usr/local/bin/python3.8 /usr/local/bin/pip /usr/local/bin/pip3 /usr/local/bin/pip3.8 ``` 默认不会覆盖 Rocky9 系统自带的 `/usr/bin/python3`,避免影响系统工具。脚本会创建 `/usr/local/bin/python` 和 `/usr/local/bin/python3` 指向新安装的 Python-3.8.6,并写入 `/etc/profile.d/python-3.8.6.sh` 让新登录 shell 优先使用 `/usr/local/bin`。如果安装完成后在当前终端执行 `python3 -V` 仍显示系统 Python,请先执行: ```shell source /etc/profile.d/python-3.8.6.sh hash -r type -a python3 python3 -V ``` 只检查当前解析状态,不重新安装: ```shell sudo bash Python_3.8.6_installer_huaweicloud.sh --status ``` 如确实需要覆盖 `/usr/bin/python3`,可执行: ```shell cd server_maker/Rocky9 sudo UPDATE_DEFAULT_PYTHON3=1 ./Python_3.8.6_installer_huaweicloud.sh ``` #### 安装教程 Nginx ```shell cd /root/server_maker/CentOS7 chmod a+x Nginx_installer.sh ./Nginx_installer.sh ``` #### 使用说明 1. 检查当前环境 - 检查是否安装了git ```shell script [root@... CentOS7]# git --version git version 1.8.3.1 ``` - 安装git ```shell script sudo yum -y install git ``` - 查看系统是否已经安装了Python3,并查看安装的版本: ```shell script [root@... CentOS7]# python3 --version Python 3.6.8 [root@... CentOS7]# pip3 --version pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6) ``` - 查看安装位置: ```shell script [root@... CentOS7]# which python3 /usr/bin/python3 [root@... CentOS7]# which pip3 /usr/bin/pip3 ``` - 卸载当前安装的python3: > 注意:下面命令只适用于早期 CentOS7 脚本场景,不适用于 Rocky9。Rocky9 的 `dnf/yum` 依赖系统 Python,不能删除系统自带的 `/usr/bin/python3` 或批量卸载 `python3` RPM 包。 ```shell script rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps # 卸载pyhton3 whereis python3 |xargs rm -frv # 删除所有残余文件 ``` Rocky9 专用脚本选择覆盖安装时,只会清理本脚本管理的 `/usr/local/python3.8.6`、`/usr/local/openssl-1.1.1w`、`/usr/local/bin/python*` 软链、`/usr/local/bin/pip*` 软链和相关配置文件,不会卸载系统 Python。 2. 使用示例 - 拉取项目 ```shell sudo git clone https://gitee.com/ZeroSeeker/server_maker.git ``` - 执行脚本 ```shell cd server_maker cd [your os] sudo chmod a+x Python_3.8.6_installer_huaweicloud.sh sudo ./Python_3.8.6_installer_huaweicloud.sh ``` 3. 没有yum ```shell sudo apt-get install yum ``` #### 常见问题 - python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: 解决: ```text 错误原因:centos系统默认加载/usr/lib,/lib下面库文件,python默认安装到非此类文件夹。不过可以通过添加库配置信息 步骤如下: cd /etc/ld.so.conf.d vi python3.conf 编辑 添加库文件路径 /usr/local/python3/lib 退出保存 运行 : ldconfig ``` #### 快捷安装 ```shell # 下载服务器安装脚本 wget https://gitee.com/lazypy/server_maker/releases/download/20230914.1/make_my_server.sh # 赋予脚本执行权限 sudo chmod a+x make_my_server.sh # 执行脚本 ./make_my_server.sh ```