gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:15 25 4
gpt4 key购买 nike

我正在为 Vagrant 设置一个 puppet 文件以用于配置 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 端正确设置,但我不完全确定如何通过 puppet list 文件设置它以实现可移植性。

想法?

最佳答案

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

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

还有很多更强大的nginx puppet scripts在那里你可能也想看看......你应该作为一个虚拟主机来做这件事......并注意有一些security issues看看是否在生产中使用它。

关于php - 如何通过 Puppet(在 Vagrant 上)连接 Nginx 和 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17216953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com