乘客未运行(Ruby on Rails + Nginx)

乘客未运行(Ruby on Rails + Nginx)

我的 AWS 实例与我的应用程序运行良好。但是,今天,服务器没有内存,因此宕机了。然后我运行:

sync; echo 1 > /proc/sys/vm/drop_caches
sudo service nginx start

此后,RAM 内存消耗正常,但应用程序不正常。我在 Ubuntu 14 AWS 实例中运行 Rails 4.2.1 网站,其中包含 Ruby 2.2.2 和 nginx/1.8.0。

当我访问该网站时,出现错误:

502 Bad Gateway
nginx/1.8.0

当我跑步时passenger-config restart-app我有:

*** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it
is running, then the causes of this problem could be one of:

 1. You customized the instance registry directory using Apache's
    PassengerInstanceRegistryDir option, Nginx's
    passenger_instance_registry_dir option, or Phusion Passenger Standalone's
    --instance-registry-dir command line argument. If so, please set the
    environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
    and run this command again.
 2. The instance directory has been removed by an operating system background
    service. Please set a different instance registry directory using Apache's
    PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
    option, or Phusion Passenger Standalone's --instance-registry-dir command
    line argument.

在我的文件中/var/log/nginx/error.log有:

2021/06/19 13:21:12 [crit] 26618#0: *48688773 connect() to unix:/tmp/passenger.26EHXct/agents.s/server failed (2: No such file or directory) while connecting to upstream, client: XXX.XXX.34.163, server: www.XXX.com, request: "GET / HTTP/1.1", upstream: "passenger:unix:/tmp/passenger.26EHXct/agents.s/server:", host: "XXX.com"

我已经尝试过了此解决方案并且不工作。

当我跑步时:passenger-config validate-install我有:

Use <space> to select.
If the menu doesn't display correctly, press '!'

 ‣ ⬢  Passenger itself
   ⬡  Apache

-------------------------------------------------------------------------

 * Checking whether this Passenger install is in PATH... ✓
 * Checking whether there are no other Passenger installations... ✓

Everything looks good. :-)

当我跑步时:sudo passenger-memory-stats我有:

Version: 5.0.10
Date   : 2021-06-19 13:31:40 -0300
------------- Apache processes -------------
*** WARNING: The Apache executable cannot be found.
Please set the APXS2 environment variable to your 'apxs2' executable's filename, or set the HTTPD environment variable to your 'httpd' or 'apache2' executable's filename.


---------- Nginx processes ----------
PID    PPID  VMSize    Private  Name
-------------------------------------
26615  1     230.7 MB  26.3 MB  nginx: worker process
26616  1     230.4 MB  27.4 MB  nginx: worker process
26617  1     229.7 MB  25.8 MB  nginx: worker process
26618  1     233.3 MB  27.4 MB  nginx: worker process
### Processes: 4
### Total private dirty RSS: 106.78 MB


--- Passenger processes ---

### Processes: 0
### Total private dirty RSS: 0.00 MB

有谁知道我该如何解决这个问题?

答案1

当我跑步的时候sudo service nginx restart,我没有注意到[fail]终端右侧的标志。

然后,我跑去sudo service nginx status收到了消息nginx is not running

跑完后sudo nginx -t我收到了消息

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

但是我看到了几个 nginx 进程,然后,我用 杀死了所有 nginx 进程,sudo kill $(ps aux | grep '[n]ginx' | awk '{print $2}')然后sudo service nginx start

一切又恢复正常。

相关内容