簡體   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