在cloud-init
文档中,它说可以使用类似的东西安装软件包
packages:
- nginx
- php
但是,我还没有找到为包指定特定版本号的方法,例如 nginx v1.6.0 或 PHP 5.5.12
这可能吗?我想将 cloud-init 用作 AWS EC2 用户数据的一部分。
谢谢。
在cloud-init
文档中,它说可以使用类似的东西安装软件包
packages:
- nginx
- php
但是,我还没有找到为包指定特定版本号的方法,例如 nginx v1.6.0 或 PHP 5.5.12
这可能吗?我想将 cloud-init 用作 AWS EC2 用户数据的一部分。
谢谢。
我确定以前有人问过这个问题,但我找不到有效的解决方案。
一个网站切换了CMS服务,但是同一个域名,如何设置单页的nginx重写?
例如
http://sitedomain.co.uk/content/unique-page-name
http://sitedomain.co.uk/new-name/unique-page-name
请注意,我不希望内容页面中的所有内容都被重定向,而只是上面提到的 url。我有大约 9 个重定向要设置,其中不适合一个模式。
谢谢!
编辑:我找到了这个似乎有效的解决方案,除了它在没有斜杠的情况下重定向:
if ( $request_filename ~ content/unique-page-name/ ) {
rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent;
}
但这重定向到:
http://sitedomain.co.uknew-name/unique-page-name/
我们的服务器似乎有一些奇怪的权限问题。我们的 Web 服务器目录中的随机文件和文件夹没有允许我们webuser
读取文件的权限。
我不确定这是为什么,但它需要修复。有没有办法webuser
在整个磁盘/操作系统上授予、读取权限?不影响其他权限?
我知道如何为特定文件或文件夹执行此操作,但每次更改显然很乏味。我希望用户能够读取当前存在的所有文件,以及将来创建的文件。
我们正在运行一个带有 Express 3 的 Node Socket.io 服务器。该服务器使用Forever进行监控。该服务运行良好,但 CPU 一整天都在增长,直到达到 90%+,然后突然回落到 ~20%,如下图所示。我相信下降是由永远重启应用程序引起的。
我想知道的是;
我认为这可能与 Socket.io 在用户断开连接后不清理资源有关,尽管文档说 Socket.io 会自动管理它。
任何帮助将不胜感激,这个问题使我们的服务器管理变得非常困难。如果这个问题更适合放在 StackOverflow 上,请告诉我。
更新:经过更多研究,CPU 似乎与连接数没有直接关联。我们的临界质量似乎是大约 1500 个并发连接,像这样拆分:
有时我们可能只有 500 个连接时 CPU 使用率为 100%,其他时候有 1500 个连接。我知道发送消息的速率有很大影响,但速率相当稳定。
我已将我的站点拆分为不同的配置文件,以使事情更有条理。这也允许我删除单个配置文件并使站点不可用。
每个站点的配置文件如下所示:
server {
listen 80;
server_name site1.domain.co.uk;
root /var/www/php/site1;
location / {
index index.html index.php;
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri /index.php;
fastcgi_pass php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location /common {
alias /var/www/common;
}
}
我的问题是,我是否必须为每个站点重复 location 块?或者我可以添加一个匹配所有内容的新服务器块吗?如果这是可能的,它会与我匹配所有未映射到站点的域的配置文件冲突吗?该配置文件如下所示:
server {
listen 80 default_server;
server_name _;
return 404;
}
或者,我做错了吗?虽然不是这个问题的主要目的,但如果有人能告诉我配置中的任何重大错误,那就太好了。
谢谢。
我正在运行 PHP-FPM 和 Nginx,偶尔,无论出于何种原因,我都必须重新启动服务器。一旦服务器再次运行,nginx 服务会自动启动,但是 PHP-FPM 不会。sudo /etc/init.d/php-fpm restart
当我在重启后立即运行命令并得到结果时,可以看到这一点:
$ sudo /etc/init.d/php-fpm restart
Stopping php-fpm: [FAILED]
Starting php-fpm: [ OK ]
这是预期的行为吗?让 PHP-FPM 自动启动的最佳方法是什么?哪里有配置选项,还是我必须将命令添加到 Linux 启动脚本之一?
谢谢。
在尝试解决另一个问题并清理我的配置文件时,我遇到了一个问题。我有 2 个域绑定到一个站点,但现在,每当我访问域 1 时,它都会将 php 文件下载为“下载”,而不是在 PHP-FPM 中执行它。但是,如果我浏览到 domain2,该文件将被执行。
奇怪的是,它们都在同一个配置文件中定义。我一定是改变了一些东西,因为它以前可以工作,但最近停止了。我的站点配置文件如下所示(它们包含在默认nginx.conf
文件中):
server {
listen 80;
server_name site1.domain.co.uk site2.domain.co.uk;
root /var/www/php/hobnobs;
# access_log /var/log/nginx/site-access.log;
# error_log /var/log/nginx/site-error.log;
location / {
index index.html index.php;
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri /index.php;
fastcgi_pass php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location /common {
alias /var/www/common;
}
}
我在 Linux 上使用 Nginx 和 PHP-FPM。我不确定问题是 PHP 没有写入 PHP.ini 中指定的位置,还是它根本不工作。
Nginx 和 PHP-FPM 生成的一些日志包含 PHP 错误,但它们与其他 Nginx 日志输出混合在一起。当我运行 phpInfo() 时,error_log 中的值被设置为我的主目录中的一个文件夹,但从未创建任何内容。
我知道 Nginx conf 和 PHP-FPM conf 中的值可以覆盖 PHP.ini 中设置的值,但是运行 phpInfo() 肯定会显示最终配置值吗?
我希望能够有 1 个文件夹,其中包含用于 Nginx 访问和错误日志以及 PHP 错误的单独文件。
谢谢。