我的 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
。
一切又恢复正常。