我试图在使用php7为Ubuntu
16.04调整它时遵循此Ansible教程。在此消息下方,您将找到我的Ansible文件。运行它并尝试在浏览器中访问该页面后,我得到了404,以及nginx错误日志中的以下内容:
2016/10/15 13:13:20 [crit] 28771#28771:* 7对unix的connect():/ var / run /
php7.0-fpm.sock在连接到时失败(2:没有这样的文件或目录)上游,客户端:93.xxx.xxx.xx,服务器:95.xx.xx.xx,请求:“
GET / HTTP / 1.1”,上游:“ fastcgi:// unix:/var/run/php7.0- fpm.sock:”,主机:“
95.xx.xx.xx”
因此,我检查了套接字文件是否存在,并且似乎存在,但是ls
行为异常:
$ sudo ls -l /var/run/php
total 4
-rw-r--r-- 1 root root 5 Oct 15 13:00 php7.0-fpm.pid
srw-rw---- 1 www-data www-data 0 Oct 15 13:00 php7.0-fpm.sock
$ sudo ls -l /var/run/php7
ls: cannot access '/var/run/php7': No such file or directory
$ sudo ls -l /var/run/php7.0-fpm.sock
ls: cannot access '/var/run/php7.0-fpm.sock': No such file or directory
ls
如果我按部分名称搜索php
套接字文件,而我列出php7
的名称甚至全名都找不到套接字文件,为什么找不到套接字文件php7.0-fpm.sock
?
最重要的是,我如何使用Nginx进行这项工作?欢迎所有提示!
下面我粘贴了Ansible文件
---
- hosts: php
become: true
tasks:
- name: install packages
apt: name={{ item }} update_cache=yes state=latest
with_items:
- git
- mcrypt
- nginx
- php-cli
- php-curl
- php-fpm
- php-intl
- php-json
- php-mcrypt
- php-mbstring
- php-sqlite3
- php-xml
- sqlite3
- name: enable mbstring
shell: phpenmod mbstring
notify:
- restart php7.0-fpm
- restart nginx
- name: create /var/www/ directory
file: dest=/var/www/ state=directory owner=www-data group=www-data mode=0700
- name: Clone git repository
git: >
dest=/var/www/laravel
repo=https://github.com/laravel/laravel.git
update=no
become: true
become_user: www-data
register: cloned
- name: install composer
shell: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
args:
creates: /usr/local/bin/composer
- name: composer create-project
composer: command=create-project working_dir=/var/www/laravel optimize_autoloader=no
become: true
become_user: www-data
when: cloned|changed
- name: set APP_DEBUG=false
lineinfile: dest=/var/www/laravel/.env regexp='^APP_DEBUG=' line=APP_DEBUG=false
- name: set APP_ENV=production
lineinfile: dest=/var/www/laravel/.env regexp='^APP_ENV=' line=APP_ENV=production
- name: Configure nginx
template: src=nginx.conf dest=/etc/nginx/sites-available/default
notify:
- restart php5-fpm
- restart nginx
handlers:
- name: restart php7.0-fpm
service: name=php7.0-fpm state=restarted
- name: restart nginx
service: name=nginx state=restarted
- name: reload nginx
service: name=nginx state=reloaded
有同样的问题。解决方案很容易。
在nginx conf文件中,您尝试上游
unix:/var/run/php7.0-fpm.sock
正确的路径是
unix:/var/run/php/php7.0-fpm.sock
文档中对此有提及
Nginx使用Unix域套接字与PHP-FPM通信。套接字映射到文件系统上的路径,默认情况下,我们的PHP 7安装使用新路径:
PHP 5
/var/run/php5-fpm.sock
PHP 7
/var/run/php/php7.0-fpm.sock
问:我错过了什么或做错了什么? 我正在尝试将功能齐全的Zend Framework应用程序从带有mod_php5的Apache2迁移到带有php5 fpm的nginx。我会遇到这样的错误: 下面是我的配置文件: a) /etc/nginx/sites enabled/www b) /etc/nginx/fastcgi\u参数 c) /etc/php5/fpm/pool。d/www.conf d)
我在DigitalOcean上有一个2GB VPS,我正在主持WordPress 3.9。1在Debian 7下使用NGINX、php fpm和unix套接字。 直到上周,它才开始显示“502坏网关”错误。我检查了日志,发现: php5 fpm日志显示pm。已到达max_children,nginx日志显示以下内容: [错误]3239#0:*15188 connect()到unix:/var/ru
问题内容: 我正在使用Jenkins作业来自动化容器的构建/推送。为此,我使用“ Execute Shell”构建步骤,并在内部进行所有Docker配置(我尝试使用管道,但是这些操作在我团队的Jenkins配置中不起作用;请在这个问题的范围)。这项工作首先克隆了一个git仓库(),然后我有一个shell脚本编写了一些我想包含在Docker容器(例如)中的文件以及一个Dockerfile。 构建失败
问题内容: 我是Docker的新手。我有一个将数据加载到impala中的shell脚本,并且我希望运行的docker文件构建映像并运行容器。我在Mac上,安装了boot2docker并设置了环境。 我正在尝试使用以下方法安装预构建的映像: 我收到此错误: 我的docker设置有问题吗? 当我执行时,它将拉出图像并完成下载。 我想念什么吗? 问题答案: 您不需要运行任何docker命令,因为在使用时
问题内容: 我正在尝试安装berta(v 0.6.3b),但出现此错误: 警告:session_start()[function.session-start]:打开(/ var / php_sessions / sess_a0d6b8422181739d10066fb60cebfe5d,O_RDWR)失败:/hermes/bosweb/web010/b100/ipg.ellieniemeyerco
我不知道这里出了什么问题...我试着把这个写得更简洁些,但没有奏效。我在阅读了这个问题的其他建议后加入了所有额外的字符串。帮不上忙。不知道发生了什么。可能是权限相关的吗?AFAIK我正试图写入内存,这不需要特殊的权限? 它每次都是“制造dirs”,目录不是停留在制造,或者其他什么。当它到达myfile.createnewfile()时;它给出错误消息“Open Failed:ENOENT(没有这样