小编ber*_*kes的帖子

如何使用 nginx proxy_pass 删除路径

我在 上有一个正在运行的 Web 应用程序http://example.com/,并且想在http://example.com/en. 上游服务器proxy_pass似乎可以工作,但有一个问题:

upstream luscious {
 server lixxxx.members.linode.com:9001;
}

server {
  root /var/www/example.com/current/public/;
  server_name example.com;

  location /en {
    proxy_pass http://luscious;
  }
}
Run Code Online (Sandbox Code Playgroud)

打开时example.com/en,我的上游应用程序返回404 not found /en。这是有道理的,因为上游没有 path /en

proxy_path正确的解决方案吗?我应该重写“上游”以便它/en作为根路径监听吗?或者是否有指令允许我重写传递给上游的路径?

nginx path proxypass

128
推荐指数
4
解决办法
20万
查看次数

何时使用 MySQL 套接字,何时使用主机:端口?

许多应用程序允许我使用用户名、密码主机和端口连接到 Mysql。有些允许我配置一个套接字而不是host:port.

一个比另一个有什么明显的好处吗?我可以想象一个套接字仅在 MySQL 位于同一台机器上时才有效。是这样吗?如果是这样,使用该套接字而不是连接到 有localhost:3306什么好处吗?

我对网络和套接字的来龙去脉不太熟悉,所以也许我完全错过了一些关键信息,我的问题只是很愚蠢;如果是这样,你能解释一下我缺少什么吗?

mysql networking socket

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

如果服务未运行,我如何“启动”,但如果服务正在使用 systemd 运行,我如何“重新加载”?

我有部署(capistrano),成功后会重新加载 systemd:

sudo systemctl reload myserver.service
Run Code Online (Sandbox Code Playgroud)

但是,在第一次部署之后,该服务尚未运行。在这种情况下,我想改为启动它。

sudo systemctl start myserver.service
Run Code Online (Sandbox Code Playgroud)

systemd 中是否有一个标志或其他技巧可以确定:“服务是否正在运行,然后重新加载,否则启动它”?另一种方法是将其构建到部署工具本身中,但如果 systemd 提供这些功能,我宁愿使用现有功能。

systemd

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

标签 统计

mysql ×1

networking ×1

nginx ×1

path ×1

proxypass ×1

socket ×1

systemd ×1