繁体   English   中英

如何通过Puppet(在Vagrant上)连接Nginx和PHP?

[英]How to connect Nginx and PHP via Puppet (on Vagrant)?

我正在为Vagrant设置一个人偶文件以用于配置LEMP堆栈,到目前为止,我已经能够通过以下方式安装所需的一切:

exec { "apt-get update":
command => "/usr/bin/apt-get update",
}

package { "acl":
    ensure => "present",
    require => Exec ["apt-get update"],
}

class nginx{
  package { "nginx":
    ensure => present,
    require => Exec ["apt-get update"],
  }
    service { "nginx":
        ensure  => "running",
        require => Package["nginx"],
    }

    file { "/var/www":
        ensure  => "link",
        target  => "/vagrant/web",
        require => Package["nginx"],
        notify  => Service["nginx"],
        force => true,
    }
}

class php {
    package { "php5-cli": ensure => present }
    package { "php5-dev": ensure => present }
    package { "php5-mysql": ensure => present }
    package { "php-pear": ensure => present }
    package { "php5-common": ensure => present}
    package { "php5-fpm": ensure => present}
    package { "php5-cgi": ensure => present}
    package { "php-apc": ensure => present}
    exec { "pear upgrade":
        command => "/usr/bin/pear upgrade",
require => Package["php-pear"],
    }
}
class mysql {
  package { "mysql-server":
    require => Exec["apt-get update"],
    ensure => present,
  }
  service { "mysql":
    enable => true,
    ensure => running,
    require => Package["mysql-server"],
  }
  exec { "Set MySQL server root password":
        require => Package["mysql-server"],
        unless => "/usr/bin/mysqladmin -uroot -proot status",
        command => "/usr/bin/mysqladmin -uroot password root",
  }
}  

include nginx
include php
include mysql

我已经正确设置了Vagrant,使用了LAMP堆栈脚本,它可以完美地工作。 但是,用Nginx代替Apache和用php-fpm代替php5导致了问题。 每当我尝试加载我的网站时,都会收到“欢迎使用nginx!”。 如果我指定图像(或任何其他静态文件)的特定路径,则会加载图像。 如果我指定PHP文件的特定路径,则会下载PHP文件而不是执行该文件。

我正在使用Ubuntu 12.04 64位。

我在想从Nginx端未正确设置套接字,但我不完全确定如何通过木偶清单文件进行设置以实现可移植性。

想法?

您需要使用将php套接字内容未注释的配置替换为/etc/nginx/sites-available/default文件的p。

尝试取消注释该location ~ \\.php$块,然后重新启动nginx以查看一切是否正常……如果是这样,那么让p将其替换为您的配置即可使其工作。

还有很多健壮的Nginx木偶脚本 ,您可能还想看一看...例如,您可能应该以虚拟主机的身份进行此操作...并且要注意,有一些安全问题需要考虑如果在生产中使用此功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM