标签: nginx

Nginx 在 Ubuntu 服务器上找不到 PCRE 库

我一直在尝试使用 Passive 和 Nginx 设置来处理 php 文件,但是我在使用 PCRE 正则表达式库时遇到了问题。安装一切顺利,所以我假设它在那时找到了库,但是现在当我在 nginx.conf 文件中包含 PHP 文件的正则表达式时,尝试启动服务器时出现以下错误:

nginx: [emerg] using regex "\.php$" requires PCRE library in /home/dev/nginx/conf/nginx.conf:59
Run Code Online (Sandbox Code Playgroud)

我已经安装了软件包

apt-get install libpcre3 libpcre3-dev
Run Code Online (Sandbox Code Playgroud)

并在 usr/local/lib 中安装了 PCRE 8.21 但似乎没有任何工作。有没有一种简单的方法可以使用 Nginx 或其他解决方案设置库的路径?与此相关的所有问题似乎首先阻止了 Nginx 的安装,但一旦安装了库就会成功。

真的很感激任何帮助!

汤姆

nginx passenger ubuntu

5
推荐指数
1
解决办法
9575
查看次数

如何从 nginx 中的任意 url 路径提供静态 html?

我想example.com/mypage.htmlexample.com/mypage.

在 nginx.conf 中,我尝试放入mypage.html指定的根目录,然后

location /mypage}
 alias mypage.html;
}
Run Code Online (Sandbox Code Playgroud)

但是没有骰子。应该是类似的吧?

编辑:如果我将 '/' 的整个路径放在别名中,它可以工作,但我宁愿让它相对于设置的根目录。如何引用我之前在配置中定义的根目录:

root /usr/share/nginx/www;
Run Code Online (Sandbox Code Playgroud)

此外,当我这样做并且客户端请求 /mypage 时,nginx 默认为八位字节流文件类型。如何为我这样定义的 URL 强制使用 text/html?

nginx

5
推荐指数
1
解决办法
2万
查看次数

安装nginx后无法连接到localhost:80

我刚刚安装了 nginx,但sudo yum install nginx无法在端口 80 上连接到它。

我尝试通过这样做来停止 iptables,sudo service iptables start但仍然无法连接。

我正在通过执行telnet localhost 80. 这是我要返回的输出:

Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Run Code Online (Sandbox Code Playgroud)

当我尝试telnet localhost 22它时,它会像我期望的那样工作:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

networking linux http iptables nginx

5
推荐指数
1
解决办法
1万
查看次数

找不到 nginx -v 命令

我成功安装了 nginx ~ 但是当我使用 nginx -v 命令时,它显示 : nginx: command not found

什么问题?

nginx

5
推荐指数
1
解决办法
2万
查看次数

当http引用包含字符串时,Nginx proxy_pass?

我测试了下面的配置,不起作用。如何制作?

http {

    server {
        location / {
            if ($http_referer ~* /.*/flee.*/) {
                proxy_pass http://127.0.0.1:8765;
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

nginx

5
推荐指数
0
解决办法
2728
查看次数

使用 nginx 的 FTP 代理

我正在尝试使用 Nginx 设置一个简单的 ftp 代理。现在我的配置是这样的:

server {
    listen 21;
    server_name 52.49.13.91;
    location / {
        proxy_pass ftp://my.ftpsite.com/;
    }
}

server {
    listen 20;
    server_name 52.49.13.91;
    location / {
        proxy_pass ftp://my.ftpsite.com/;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我从 nginx 收到以下错误: invalid URL prefix in /etc/nginx/sites-enabled/ftp-proxy:5

nginx 甚至能够做到这一点吗?我怎样才能做到这一点?

ftp proxy nginx

5
推荐指数
1
解决办法
2万
查看次数

无法让 Nginx 在端口 80 上工作。在任何其他端口上都可以正常工作

我刚刚在 Mac OS X 10.11 (El Capitan) 上设置了 Homebrew 的 Nginx。

如果我像这样设置我的 Ngnix 配置:

listen      127.0.0.1:8080;

listen      127.0.0.1:81;

listen      127.0.0.1:75;
Run Code Online (Sandbox Code Playgroud)

它会工作。但是如果我把它放在那里:

listen      127.0.0.1:80;
Run Code Online (Sandbox Code Playgroud)

它不会。如果我去,我会被拒绝连接http://127.0.0.1

ps说 Nginx 正在运行,但netstat -a | grep nginxnetstat -a | grep 80说它不是。

当然,以 root 身份运行它(不是我需要它来运行 :8080

Mac OS X 防火墙没有运行。

错误日志不再显示:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我可以使用它运行8080(奇怪的是,当我运行时8080,它会打开80端口并将其重定向到80)。

port nginx ps macos

5
推荐指数
1
解决办法
1万
查看次数

使用 HTTPS 在家庭网络上运行服务器

正如标题所暗示的那样,我正在尝试配置我的服务器以使用 HTTPS 提供流量。我已经能够公开服务器并从中接收信息,只是没有 HTTPS。

我将介绍一些有趣的细节,但这是主要目标。

  1. 我在家庭网络上的 Raspberry Pi 上运行了一个 Go 服务器,我将其用作个人 API。
  2. 我将家庭网络的端口 80 和 443 端口转发,并将其指向我的 Raspberry Pi 的静态 IP 地址
  3. 我拥有一个指向我的家庭网络 IP 的域。
  4. 我的 go 服务器在端口 8088 上运行,所以我使用 Nginx 将请求从基本 IP 转发到我服务器的端口。

到目前为止,这一切都运行良好,只是我想允许我的服务器使用 HTTPS。

我的问题是我在这个设置中有很多活动部分,那么什么负责确保 HTTPS:

  • 域?
  • 我的 Nginx 配置?
  • 服务器本身?
  • 以上所有的组合。

我不确定。

只是在寻找为此服务器启用 HTTPS 的方向,谢谢!

networking https nginx raspberry-pi

5
推荐指数
1
解决办法
2236
查看次数

无法在 AWS EC2 AMI2 上安装 Nginx - 未找到主题 :topic:

我想在我的 AWS EC2(操作系统:AMI2)实例上安装 Nginx 作为反向代理。

当我尝试安装时nginx,我被告知nginx is available in Amazon Linux Extra topics...

sudo yum install nginx
Run Code Online (Sandbox Code Playgroud)

但是当我尝试安装时:topic:,我被告知Topic :topic: is not found.

sudo amazon-linux-extras install :topic:
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何处理这个错误。

端子输出

nginx amazon-web-services amazon-ec2

5
推荐指数
1
解决办法
5876
查看次数

Kubernetes 中的 Metallb 与 Nginx Ingress

据我了解,

Metallb 是一个负载均衡器,它为服务分配 IP 地址,该服务可以暴露给外界。

Nginx Ingress 和普通的 Nginx 一样,但它驻留在 kubernetes 中,并提供到不同路由的路由。

我的问题是,如果我有 Nginx Ingress,为什么还需要 Metallb?因为 nginx 入口会将端口 80/443 公开给公共,我可以使用它来路由到我需要的服务。

谢谢你。

nginx kubernetes

5
推荐指数
1
解决办法
2985
查看次数