ubuntu12.04安装php5-fpm 出错connect() to unix:/var/run/php5-fpm.sock

本文详细介绍了在Ubuntu 12.04中配置PHP-FPM时遇到的问题及解决方案,重点在于正确配置fastcgi_pass以解决无法连接到unix socket的错误。

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

在ubuntu12.04中安装配置LNMP时 出现在php5-fpm的错误

2013/04/26 04:01:05 [crit] 6119#0: *4 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 159.53.110.141, server: 216.238.88.42, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "216.238.88.42:9090


nginx中是这样配置的

       location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

我个人的配置是想用sock的方法 毕竟sock方式对于高并发来说 还是比使用cgi方式好的

问题其实出现在 fastcgi_pass得配置上面。在ubuntu 12.10安装了php5-fpm之后。我们可以去

/etc/php5/fpm/pool.d/www.conf

里面找到这样一段代码:

listen = 127.0.0.1:9000 

在这上面代码的下面添加一行:

listen = /var/run/php5-fpm.sock

保存后启动php5-fpm

/etc/init.d/php5-fpm restart

这时就可以正常访问了




u@u-desktop:~$ sudo apt-get update 错误 http://cn.old-releases.ubuntu.com precise Release.gpg 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) 获取:1 http://ppa.launchpad.net precise Release.gpg [2,250 B] 忽略 http://cn.old-releases.ubuntu.com precise Release 获取:2 http://mirrors.aliyun.com trusty-security Release.gpg [2,250 B] 获取:3 http://mirrors.aliyun.com trusty-updates Release.gpg [2,250 B] 获取:4 http://mirrors.aliyun.com trusty-proposed Release.gpg [2,250 B] 忽略 http://cn.old-releases.ubuntu.com precise/universe TranslationIndex 获取:5 http://mirrors.aliyun.com trusty-backports Release.gpg [2,250 B] 获取:6 http://mirrors.aliyun.com trusty Release.gpg [2,250 B] 获取:7 http://ppa.launchpad.net precise Release [2,250 B] 错误 http://ppa.launchpad.net precise Release 获取:8 http://mirrors.aliyun.com trusty-security Release [2,250 B] 错误 http://mirrors.aliyun.com trusty-security Release 获取:9 http://mirrors.aliyun.com trusty-updates Release [2,250 B] 错误 http://mirrors.aliyun.com trusty-updates Release 获取:10 http://mirrors.aliyun.com trusty-proposed Release [2,250 B] 错误 http://mirrors.aliyun.com trusty-proposed Release 获取:11 http://mirrors.aliyun.com trusty-backports Release [2,250 B] 错误 http://mirrors.aliyun.com trusty-backports Release 获取:12 http://mirrors.aliyun.com trusty Release [2,250 B] 错误 http://mirrors.aliyun.com trusty Release 错误 http://cn.old-releases.ubuntu.com precise/universe i386 Packages 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) 错误 http://cn.old-releases.ubuntu.com precise/universe Translation-zh_CN 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) 错误 http://cn.old-releases.ubuntu.com precise/universe Translation-zh 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) 错误 http://cn.old-releases.ubuntu.com precise/universe Translation-en 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) 下载 27.0 kB,耗时 7秒 (3,436 B/s) 正在读取软件包列表... 完成 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://ppa.launchpad.net precise Release: 下列签名无效: NODATA 1 NODATA 2 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://mirrors.aliyun.com trusty-security Release: 下列签名无效: NODATA 1 NODATA 2 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://mirrors.aliyun.com trusty-updates Release: 下列签名无效: NODATA 1 NODATA 2 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://mirrors.aliyun.com trusty-proposed Release: 下列签名无效: NODATA 1 NODATA 2 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://mirrors.aliyun.com trusty-backports Release: 下列签名无效: NODATA 1 NODATA 2 W: 校验签名出错。此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://mirrors.aliyun.com trusty Release: 下列签名无效: NODATA 1 NODATA 2 W: 无法下载 http://cn.old-releases.ubuntu.com/ubuntu/dists/precise/Release.gpg 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) W: 无法下载 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/dists/precise/Release W: 无法下载 http://cn.old-releases.ubuntu.com/ubuntu/dists/precise/universe/binary-i386/Packages 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) W: 无法下载 http://mirrors.aliyun.com/ubuntu/dists/trusty-security/Release W: 无法下载 http://mirrors.aliyun.com/ubuntu/dists/trusty-updates/Release W: 无法下载 http://mirrors.aliyun.com/ubuntu/dists/trusty-proposed/Release W: 无法下载 http://cn.old-releases.ubuntu.com/ubuntu/dists/precise/universe/i18n/Translation-zh_CN 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) W: 无法下载 http://cn.old-releases.ubuntu.com/ubuntu/dists/precise/universe/i18n/Translation-zh 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) W: 无法下载 http://cn.old-releases.ubuntu.com/ubuntu/dists/precise/universe/i18n/Translation-en 解析“cn.old-releases.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) W: 无法下载 http://mirrors.aliyun.com/ubuntu/dists/trusty-backports/Release W: 无法下载 http://mirrors.aliyun.com/ubuntu/dists/trusty/Release W: Some index files failed to download. They have been ignored, or old ones used instead. u@u-desktop:~$ sudo apt-get install openssh-server -y 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 您可能需要运行“apt-get -f install”来纠正下列错误: 下列软件包有未满足的依赖关系: code : 依赖: libnss3 (>= 2:3.26) 但是 3.15.4-0ubuntu0.12.04.1 正要被安装 依赖: libsecret-1-0 但无法安装它 依赖: libgtk-3-0 (>= 3.10.0) 但是 3.4.2-0ubuntu0.6 正要被安装 openssh-server : 依赖: libaudit1 (>= 1:2.2.1) 但无法安装它 依赖: libc6 (>= 2.17) 但是 2.15-0ubuntu10.7 正要被安装 依赖: init-system-helpers (>= 1.13~) 但是它将不会被安装 依赖: openssh-client (= 1:6.6p1-2ubuntu2.13) 但是 1:5.9p1-5ubuntu1.1 正要被安装 依赖: sysv-rc (>= 2.88dsf-24) 但是 2.88dsf-13.10ubuntu11.1 正要被安装 或 file-rc (>= 0.8.16) 但无法安装它 依赖: lsb-base (>= 4.1+Debian3) 但是 4.0-0ubuntu20.3 正要被安装 依赖: openssh-sftp-server 但是它将不会被安装 推荐: ncurses-term 但无法安装它 推荐: ssh-import-id 但无法安装它 E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。 u@u-desktop:~$
最新发布
07-31
<think>我们面对的是一个过时的Ubuntu 12.04系统,在安装openssh-server时遇到了依赖问题和软件源问题。根据引用内容,主要问题有: 1. 依赖问题:openssh-server需要特定版本的openssh-client和libcrypt1,但系统中存在版本冲突或不可安装的情况(引用[1])。 2. 软件源问题:由于Ubuntu 12.04已停止支持,官方源和国内主流源(如阿里源、网易源、清华源)都已不再提供更新,导致`apt-get update`失败(引用[2][4])。 解决方案的核心是替换为可用的旧软件源(old-releases),并解决依赖冲突。 ### 解决方案步骤: #### **步骤1:备份原始源列表文件** ```bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak ``` #### **步骤2:替换为old-releases源** 编辑`sources.list`,将所有仓库地址替换为`old-releases.ubuntu.com`: ```bash sudo sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list ``` > 说明:此操作将官方源和安全性更新源都指向旧版仓库(引用[1]的解决方案)。 #### **步骤3:更新软件包列表** ```bash sudo apt-get update ``` > 此时可能会遇到GPG签名验证错误(如`NO_PUBKEY`),需要修复。 #### **步骤4:修复GPG签名错误(如出现)** 对于出现的每个缺失的PUBKEY(例如`40976EAF437D05B5`),执行: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [缺失的PUBKEY] ``` > 例如:`sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5`。完成后重新执行`sudo apt-get update`。 #### **步骤5:解决依赖冲突** 若更新后安装openssh-server仍报依赖错误(如引用[1]中的错误): ```bash The following packages have unmet dependencies: openssh-server : Depends: openssh-client (= 1:8.2p1-4ubuntu0.11) but 1:7.6p1-4ubuntu0.3 is to be installed Depends: libcrypt1 (>= 1:4.1.0) but it is not installable ``` 尝试强制安装指定版本的openssh-client: ```bash sudo apt-get install openssh-client=1:7.6p1-4ubuntu0.3 ``` 再安装openssh-server: ```bash sudo apt-get install openssh-server ``` > 注意:如果提示`libcrypt1`不可安装,尝试先安装低版本(如`libcrypt1=1:4.1.0`)或从其他源下载deb包手动安装。 #### **步骤6:启动SSH服务** ```bash sudo service ssh start ``` #### **步骤7:验证安装** ```bash ps -ef | grep sshd ``` > 若看到`sshd`进程说明服务已启动。 ### 备选方案(如果上述步骤失败) 如果依赖问题无法解决,可尝试**手动下载deb包安装**: 1. 在[Ubuntu旧包网站](https://old-releases.ubuntu.com/ubuntu/pool/main/o/openssh/)查找对应版本的openssh-server和openssh-client的deb包(注意选择i386或amd64架构)。 2. 下载后使用`dpkg`安装: ```bash sudo dpkg -i openssh-client*.deb openssh-server*.deb ``` 3. 安装缺失的依赖(根据`dpkg`的报错使用`apt-get install -f`修复)。 ### 注意事项 1. **安全风险**:Ubuntu 12.04已无安全更新,建议仅在内网使用或尽快升级系统。 2. **防火墙配置**:安装后确保防火墙允许SSH端口(默认22): ```bash sudo ufw allow 22 ``` ### 相关问题 1. 如何为Ubuntu 12.04配置SSH密钥登录? 2. 安装过程中出现`GPG error: NO_PUBKEY`如何批量修复? 3. Ubuntu 12.04升级到新版本(如18.04)的步骤是什么? 4. 手动安装deb包时如何解决循环依赖问题? > 提示:如果企业环境必须使用Ubuntu 12.04,建议配置严格的网络隔离并监控SSH登录行为[^2]。</think>### 解决 Ubuntu 12.04 安装 OpenSSH 依赖冲突和仓库错误的完整方案 #### **步骤 1:修复软件源配置** 由于 Ubuntu 12.04 已停止支持,需替换为旧版仓库源: ```bash # 备份原始源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 替换为 old-releases 源 sudo sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list # 添加 Universe 仓库(关键解决依赖问题) sudo sed -i 's/main$/main universe/g' /etc/apt/sources.list ``` #### **步骤 2:解决 GPG 密钥错误** 更新时出现的 `NO_PUBKEY` 错误需单独修复: ```bash # 获取缺失的密钥(根据实际报错替换KEY) sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 ``` #### **步骤 3:强制更新软件列表** ```bash sudo rm -rf /var/lib/apt/lists/* sudo apt-get clean sudo apt-get update -o Acquire::AllowInsecureRepositories=true ``` #### **步骤 4:解决依赖冲突** 针对常见的依赖错误: ```bash # 先安装低版本客户端 sudo apt-get install openssh-client=1:7.6p1-4ubuntu0.3 -y --allow-downgrades # 安装兼容的 libcrypt 替代包 sudo apt-get install libcrypt-dev -y # 安装 OpenSSH 服务器 sudo apt-get install openssh-server -y --fix-broken ``` #### **步骤 5:验证安装** ```bash # 检查服务状态 sudo service ssh status # 查看安装版本 dpkg -l | grep openssh-server ``` #### **步骤 6:防火墙配置** ```bash # 允许 SSH 端口 sudo ufw allow 22 sudo ufw reload ``` ### 常见问题解决方案 1. **出现 "Package has no installation candidate" 错误** 在 `/etc/apt/sources.list` 中添加: ``` deb http://old-releases.ubuntu.com/ubuntu/ precise universe deb http://old-releases.ubuntu.com/ubuntu/ precise-updates universe ``` 2. **依赖循环冲突解决** 手动下载安装包: ```bash wget http://old-releases.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-server_7.6p1-4ubuntu0.3_amd64.deb sudo dpkg -i openssh-server*.deb sudo apt-get install -f ``` 3. **GPG 密钥批量修复** 创建自动修复脚本: ```bash sudo apt-get update 2>&1 | grep 'NO_PUBKEY' | awk '{print $NF}' | xargs sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ``` ### 重要注意事项 1. **安全警告** Ubuntu 12.04 已停止支持,建议: - 仅在内网环境使用 - 修改默认 SSH 端口(编辑 `/etc/ssh/sshd_config`) - 禁用 root 登录(设置 `PermitRootLogin no`) 2. **替代方案** ```bash # 尝试安装 dropbear 作为备用 SSH 方案 sudo apt-get install dropbear -y sudo service dropbear start ``` ### 相关问题 1. 如何为 Ubuntu 12.04 配置 SSH 密钥登录? 2. 升级 Ubuntu 12.04 到 18.04 LTS 的完整步骤是什么? 3. 如何解决旧版系统中 `libcrypt1` 不可安装的问题? 4. 在无网络环境下如何离线安装 OpenSSH? 5. Ubuntu 12.04 的安全加固措施有哪些? > 提示:对于生产环境,**强烈建议升级到受支持的 LTS 版本**(如 Ubuntu 20.04)。旧版系统存在严重安全风险,仅适用于特殊兼容场景[^2][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值