我一直在尝试使用 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 的安装,但一旦安装了库就会成功。
真的很感激任何帮助!
汤姆
我想example.com/mypage.html从example.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,但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)
有任何想法吗?
我成功安装了 nginx ~ 但是当我使用 nginx -v 命令时,它显示 : nginx: command not found
什么问题?
我测试了下面的配置,不起作用。如何制作?
http {
server {
location / {
if ($http_referer ~* /.*/flee.*/) {
proxy_pass http://127.0.0.1:8765;
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 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 甚至能够做到这一点吗?我怎样才能做到这一点?
我刚刚在 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 nginx或netstat -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)。
正如标题所暗示的那样,我正在尝试配置我的服务器以使用 HTTPS 提供流量。我已经能够公开服务器并从中接收信息,只是没有 HTTPS。
我将介绍一些有趣的细节,但这是主要目标。
到目前为止,这一切都运行良好,只是我想允许我的服务器使用 HTTPS。
我的问题是我在这个设置中有很多活动部分,那么什么负责确保 HTTPS:
我不确定。
只是在寻找为此服务器启用 HTTPS 的方向,谢谢!
我想在我的 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)
我真的不知道如何处理这个错误。
据我了解,
Metallb 是一个负载均衡器,它为服务分配 IP 地址,该服务可以暴露给外界。
Nginx Ingress 和普通的 Nginx 一样,但它驻留在 kubernetes 中,并提供到不同路由的路由。
我的问题是,如果我有 Nginx Ingress,为什么还需要 Metallb?因为 nginx 入口会将端口 80/443 公开给公共,我可以使用它来路由到我需要的服务。
谢谢你。
nginx ×10
networking ×2
amazon-ec2 ×1
ftp ×1
http ×1
https ×1
iptables ×1
kubernetes ×1
linux ×1
macos ×1
passenger ×1
port ×1
proxy ×1
ps ×1
raspberry-pi ×1
ubuntu ×1