一、PHP 环境安装
以安装 PHP 7.4 为例,采用 RPM 包离线方式安装,适合无外网的情况。安装完 PHP 环境后,需要通过 PHP-FPM + Nginx 结合来搭建发布 PHP 程序环境。
Linux 环境下 PHP、Node.js、MongoDB 及 Python 开发环境的离线安装与配置方法。涵盖 PHP 7.4 RPM 包安装及 Nginx+FPM 部署,Node.js tar 包解压配置,MongoDB 仓库添加、认证开启及用户创建,以及 Miniconda 多版本 Python 环境管理。提供具体命令步骤与配置文件修改示例。

以安装 PHP 7.4 为例,采用 RPM 包离线方式安装,适合无外网的情况。安装完 PHP 环境后,需要通过 PHP-FPM + Nginx 结合来搭建发布 PHP 程序环境。
找一台可以联网的 Linux 服务器,下载步骤如下:
yum install -y yum-utils
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum list available php\* --showduplicates | grep php74
yum-config-manager --enable remi-php74
yumdownloader --resolve --destdir=/tmp/php74 php php-fpm php-mysqlnd php-gd php-xml php-mbstring php-curl php-zip php-opcache
rpm -ivh libsodium-1.0.18-1.el7.x86_64.rpm
rpm -ivh php-common-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-cli-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-json-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-fpm-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-mysqlnd-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-gd-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-xml-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-mbstring-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-curl-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-zip-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-intl-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-bcmath-7.4.33-15.el7.remi.x86_64.rpm
rpm -ivh php-opcache-7.4.33-15.el7.remi.x86_64.rpm
php --version
通过 PHP-FPM + Nginx 结合来搭建发布 PHP 程序环境。
# 启动 PHP-FPM
sudo systemctl start php-fpm
# 设置开机自启
sudo systemctl enable php-fpm
# 检查状态
sudo systemctl status php-fpm
# 重启 PHP-FPM
sudo systemctl restart php-fpm
vi /etc/php-fpm.d/www.conf
编辑内容:
# 用户和组
user = nginx
group = nginx
# 监听 socket(CentOS 7 默认)
listen = /run/php-fpm/www.sock
# socket 权限
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
# 进程管理
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
# 重新加载或重启 PHP-FPM
sudo systemctl reload php-fpm
# 如果 reload 失败,尝试 restart
sudo systemctl restart php-fpm
# 检查 socket 是否创建
ls -la /run/php-fpm/
# 应该能看到类似这样的文件:srw-rw----. 1 nginx nginx 0 Dec 22 10:00 www.sock
vi /etc/nginx/conf.d/php.conf
编辑内容:
server {
listen 3312; # 监听端口号
server_name localhost;
root /data/zbhtml; # 程序发布位置
index index.php; # 默认访问页面
location ~ \.php$ { try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# 重要:添加这些参数
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}
}
vi /etc/nginx/nginx.conf
编辑 http 部分:
http {
# 包含配置文件
include /etc/nginx/conf.d/php*.conf; # 主要增加该配置
}
# 测试 Nginx 配置
sudo nginx -t
# 重启 Nginx
sudo systemctl restart nginx
# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /data/zbhtml/info.php
# 测试访问
curl http://localhost:3312/info.php
使用 tar 包进行离线安装。
wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz
tar -xf node-v16.20.2-linux-x64.tar.xz
mv node-v16.20.2-linux-x64 /usr/local/node
ln -sf /usr/local/node/bin/node /usr/bin/node
ln -sf /usr/local/node/bin/npm /usr/bin/npm
node --version
npm --version
sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo << 'EOF'
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
sudo yum install -y mongodb-org
1)修改配置
sudo vim /etc/mongod.conf
编辑内容:
net:
port: 8517 # 默认端口,可按需修改(如 28017)
bindIp: 0.0.0.0 # 默认只允许本机连接。如需远程连接,可改为 0.0.0.0 (有安全风险,务必配合防火墙和强密码)
# 重要:修改 bindIp 后,务必通过云服务器控制台或 firewall-cmd 配置防火墙,仅允许受信 IP 访问你的端口。
storage:
dbPath: /var/lib/mongo # 数据目录,默认即可
journal:
enabled: true
systemLog:
destination: file
path: /var/log/mongodb/mongod.log # 日志路径
logAppend: true
# 备注:确认路径存在且 MongoDB 用户(通常是 mongod)有写入权限。
1)首次启动服务(无认证模式)
sudo systemctl start mongod # 启动
sudo systemctl enable mongod # 设置开机自启
sudo systemctl status mongod # 检查状态,确认 Active: active (running)
2)连接数据库并创建管理员用户
使用 MongoDB Shell 连接本地服务:
mongosh
在 > 提示符下,依次执行以下命令来创建最高权限的'管理员':
// 切换到 admin 数据库
use admin
// 创建管理员用户 (用户名:admin, 密码:yourPassword,请务必修改!)
db.createUser({
user: "admin",
pwd: "yourPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})
// 创建成功后,输入 exit 退出
exit
如果无法使用该命令,可以使用客户端工具,如 Navicate、MongoDB Compass,直接连接,然后切换到 admin 数据库,执行该命令。
再次编辑配置文件 /etc/mongod.conf,找到并修改 security 部分:
sudo vim /etc/mongod.conf
编辑内容:
security:
authorization: enabled # 取消注释并将值改为 enabled
保存后,重启服务使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart mongod
sudo systemctl status mongod
采用 Miniconda 对 Python 进行版本管理,支持多版本项目开发。
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
安装过程中,请注意看屏幕提示:按 Enter 键浏览许可协议,然后输入 yes 同意。建议使用默认的安装路径(例如 /root/miniconda3)。安装程序最后会询问是否初始化 Conda,这里非常重要,请务必输入 yes。它会自动将 Conda 添加到你的 .bashrc 文件,这样每次打开终端都可以直接使用 conda 命令。
关闭当前终端并重新打开一个新终端,或者执行以下命令使配置立即生效:
source ~/.bashrc
安装完成后,可以通过以下命令验证是否成功,并了解基础操作:
conda --version
conda update conda
# 查询所有可用 Python 版本
conda search python
# 查询所有可用 Python 版本
conda search "python=3.8"
conda create -n myenv python=3.9
conda activate myenv
conda install numpy
# 首选
conda install --yes --file requirements.txt
# 如果 Conda 找不到某些包,或者在纯 Python 环境下,就使用 pip 在当前的 Conda 环境内安装。
pip install -r requirements.txt
conda list
conda deactivate
# 备注:退出当前环境,对已启动的程序没有影响
conda env list
conda remove -n 环境名称 --all
如何在某个环境启动程序
切换或激活环境
conda activate myenv
python aa.py

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online