2013-06-20 33 views
1

我设置了一个傀儡文件流浪用来提供一个LEMP栈,到目前为止,我已经能够安装的一切,我通过这个需要:正确如何通过Puppet(在Vagrant上)连接Nginx和PHP?

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 

我已经流浪设置,我为此使用了一个LAMP堆栈脚本,它的工作完美无瑕;然而,用Nginx代替Apache和php-fpm代替php5导致了休息。每当我尝试加载我的网站时,我都会得到一个“Welcome to nginx!”。如果我指定图像(或任何其他静态文件)的特定路径,则图像加载。如果我指定了PHP文件的特定路径,则PHP文件将被下载而不是执行。

我使用Ubuntu 12.04 64位。

我在想,套接字未正确地从Nginx的一侧设置,但我不能完全肯定通过傀儡体现文件的可移植性我如何设置它。

想法?

+0

你最有可能丢失nginx的配置PHP5-FPM –

+0

@AurimasLičkus如何指定通过木偶任何想法? – antjanus

回答

1

你需要木偶具有PHP的插座东西注释掉一个配置更换/etc/nginx/sites-available/default文件。

尝试取消注释location ~ \.php$块并重新启动nginx以查看是否可以正常工作......如果是这样,那么让木偶用你的配置替换该文件应该可以为你工作。

还有一些更强大的nginx puppet scripts在那里,你可能想看看...你应该做这个作为虚拟主机,例如......并要注意有一些security issues留意如果在生产中使用它。