Gurt204
Gurt204

Reputation: 11

Apache2 Passenger not updating Ruby on Rails classes on restart

Forgive me as I am a bit new to this but I have inherited an Ruby On Rails web application that runs on Apache2 Passenger. I have tried to make a small change to the application which works succssefully on DEV so I have deployed to our PROD environment. However after deploying and restarting Apache2 none of my changes are taking effect. If I change the

config.cache_classes = true

Setting in the config/environments/production.rb to false then all is fine, however everything I read is that should only be set to false in dev.

This leads me to believe that the cache is not being refreshed once Apache2 is started. Any ideas on what this could be? I don't see any errors in the Apache2 error log (debug level set), below is a snippet from a restart.

[Tue Sep 27 09:30:09.840437 2022] [mpm_event:notice] [pid 6259:tid 139952997727168] AH00491: caught SIGTERM, shutting down
[ N 2022-09-27 09:30:09.8404 6264/T8 age/Cor/CoreMain.cpp:614 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) to force shutdown)
[ N 2022-09-27 09:30:09.8405 6264/T1 age/Cor/CoreMain.cpp:1112 ]: Received command to shutdown gracefully. Waiting until all clients have disconnected...
[ N 2022-09-27 09:30:09.8406 6264/T1 age/Cor/CoreMain.cpp:1026 ]: Checking whether to disconnect long-running connections for process 6492, application /var/www/fpsmidas (production)
[ N 2022-09-27 09:30:09.8408 6264/T8 Ser/Server.h:903 ]: [ServerThr.1] Freed 0 spare client objects
[ N 2022-09-27 09:30:09.8409 6264/T8 Ser/Server.h:559 ]: [ServerThr.1] Shutdown finished
[ N 2022-09-27 09:30:09.8421 6264/Td Ser/Server.h:903 ]: [ServerThr.4] Freed 0 spare client objects
[ N 2022-09-27 09:30:09.8421 6264/Td Ser/Server.h:559 ]: [ServerThr.4] Shutdown finished
[ N 2022-09-27 09:30:09.8422 6264/Ta Ser/Server.h:903 ]: [ServerThr.2] Freed 0 spare client objects
[ N 2022-09-27 09:30:09.8422 6264/Tc Ser/Server.h:903 ]: [ServerThr.3] Freed 0 spare client objects
[ N 2022-09-27 09:30:09.8422 6264/Ta Ser/Server.h:559 ]: [ServerThr.2] Shutdown finished
[ N 2022-09-27 09:30:09.8422 6264/Tc Ser/Server.h:559 ]: [ServerThr.3] Shutdown finished
[ N 2022-09-27 09:30:09.8436 6264/Tf Ser/Server.h:903 ]: [ApiServer] Freed 0 spare client objects
[ N 2022-09-27 09:30:09.8436 6264/Tf Ser/Server.h:559 ]: [ApiServer] Shutdown finished
[ N 2022-09-27 09:30:09.8437 6264/T1 age/Cor/CoreMain.cpp:1026 ]: Checking whether to disconnect long-running connections for process 6492, application /var/www/fpsmidas (production)

[ N 2022-09-27 09:30:09.8586 6264/T8 age/Cor/CoreMain.cpp:614 ]: Signal received. Gracefully shutting down... (send signal 1 more time(s) to force shutdown)
[Tue Sep 27 09:30:09.859619 2022] [core:trace4] [pid 6259] mpm_common.c(429): end of generation 0
[ N 2022-09-27 09:30:10.0068 6264/T1 age/Cor/CoreMain.cpp:1185 ]: Passenger core shutdown finished
[ N 2022-09-27 09:30:10.0867 11570/T1 age/Wat/WatchdogMain.cpp:1297 ]: Starting Passenger watchdog...
[ N 2022-09-27 09:30:10.1067 11574/T1 age/Cor/CoreMain.cpp:1200 ]: Starting Passenger core...
[ N 2022-09-27 09:30:10.1068 11574/T1 age/Cor/CoreMain.cpp:250 ]: Passenger core running in multi-application mode.
[ W 2022-09-27 09:30:10.1142 11574/T1 age/Cor/CoreMain.cpp:927 ]: WARNING: potential privilege escalation vulnerability detected. Phusion Passenger is running as root, and part(s) of the Passenger root path (/opt/passenger-5.3.4) can be changed by non-root user(s):

 - /opt/passenger-5.3.4 is not secure: it can be modified by group root

Please either fix up the permissions for the insecure paths, or install Passenger in a different location that can only be modified by root.
[ N 2022-09-27 09:30:10.1142 11574/T1 age/Cor/CoreMain.cpp:935 ]: Passenger core online, PID 11574
[Tue Sep 27 09:30:10.115046 2022] [ssl:trace2] [pid 11556:tid 140281045076928] ssl_engine_rand.c(126): Init: Seeding PRNG with 656 bytes of entropy
[Tue Sep 27 09:30:10.115077 2022] [ssl:info] [pid 11556:tid 140281045076928] AH01887: Init: Initializing (virtual) servers for SSL
[Tue Sep 27 09:30:10.121210 2022] [ssl:info] [pid 11556:tid 140281045076928] AH01876: mod_ssl/2.4.29 compiled against Server: Apache/2.4.29, Library: OpenSSL/1.1.1

[ N 2022-09-27 09:30:10.1332 11574/T7 age/Cor/CoreMain.cpp:614 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) to force shutdown)
[ N 2022-09-27 09:30:10.1332 11574/T1 age/Cor/CoreMain.cpp:1112 ]: Received command to shutdown gracefully. Waiting until all clients have disconnected...
[ N 2022-09-27 09:30:10.1333 11574/T9 Ser/Server.h:903 ]: [ServerThr.2] Freed 0 spare client objects
[ N 2022-09-27 09:30:10.1333 11574/T9 Ser/Server.h:559 ]: [ServerThr.2] Shutdown finished
[ N 2022-09-27 09:30:10.1333 11574/T7 Ser/Server.h:903 ]: [ServerThr.1] Freed 0 spare client objects
[ N 2022-09-27 09:30:10.1333 11574/T7 Ser/Server.h:559 ]: [ServerThr.1] Shutdown finished
[ N 2022-09-27 09:30:10.1334 11574/Tf Ser/Server.h:903 ]: [ApiServer] Freed 0 spare client objects
[ N 2022-09-27 09:30:10.1334 11574/Tf Ser/Server.h:559 ]: [ApiServer] Shutdown finished
[ N 2022-09-27 09:30:10.1334 11574/Tb Ser/Server.h:903 ]: [ServerThr.3] Freed 0 spare client objects
[ N 2022-09-27 09:30:10.1334 11574/Tb Ser/Server.h:559 ]: [ServerThr.3] Shutdown finished
[ N 2022-09-27 09:30:10.1334 11574/Td Ser/Server.h:903 ]: [ServerThr.4] Freed 0 spare client objects
[ N 2022-09-27 09:30:10.1335 11574/Td Ser/Server.h:559 ]: [ServerThr.4] Shutdown finished
[ N 2022-09-27 09:30:10.1640 11599/T1 age/Wat/WatchdogMain.cpp:1297 ]: Starting Passenger watchdog...
[ N 2022-09-27 09:30:10.1807 11602/T1 age/Cor/CoreMain.cpp:1200 ]: Starting Passenger core...
[ N 2022-09-27 09:30:10.1808 11602/T1 age/Cor/CoreMain.cpp:250 ]: Passenger core running in multi-application mode.
[ W 2022-09-27 09:30:10.1883 11602/T1 age/Cor/CoreMain.cpp:927 ]: WARNING: potential privilege escalation vulnerability detected. Phusion Passenger is running as root, and part(s) of the Passenger root path (/opt/passenger-5.3.4) can be changed by non-root user(s):

 - /opt/passenger-5.3.4 is not secure: it can be modified by group root

Please either fix up the permissions for the insecure paths, or install Passenger in a different location that can only be modified by root.
[ N 2022-09-27 09:30:10.1883 11602/T1 age/Cor/CoreMain.cpp:935 ]: Passenger core online, PID 11602
[Tue Sep 27 09:30:10.189036 2022] [ssl:trace2] [pid 11597:tid 140281045076928] ssl_engine_rand.c(126): Init: Seeding PRNG with 656 bytes of entropy
[Tue Sep 27 09:30:10.189153 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(401): AH00821: shmcb_init allocated 512000 bytes of shared memory
[Tue Sep 27 09:30:10.189161 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(417): AH00822: for 511912 bytes (512000 including header), recommending 32 subcaches, 88 indexes each
[Tue Sep 27 09:30:10.189165 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(450): AH00824: shmcb_init_memory choices follow
[Tue Sep 27 09:30:10.189167 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(452): AH00825: subcache_num = 32
[Tue Sep 27 09:30:10.189170 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(454): AH00826: subcache_size = 15992
[Tue Sep 27 09:30:10.189173 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(456): AH00827: subcache_data_offset = 2128
[Tue Sep 27 09:30:10.189175 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(458): AH00828: subcache_data_size = 13864
[Tue Sep 27 09:30:10.189178 2022] [socache_shmcb:debug] [pid 11597:tid 140281045076928] mod_socache_shmcb.c(460): AH00829: index_num = 88
[Tue Sep 27 09:30:10.189256 2022] [socache_shmcb:info] [pid 11597:tid 140281045076928] AH00830: Shared memory socache initialised
[Tue Sep 27 09:30:10.189261 2022] [ssl:info] [pid 11597:tid 140281045076928] AH01887: Init: Initializing (virtual) servers for SSL
[Tue Sep 27 09:30:10.191097 2022] [ssl:info] [pid 11597:tid 140281045076928] AH01876: mod_ssl/2.4.29 compiled against Server: Apache/2.4.29, Library: OpenSSL/1.1.1
[Tue Sep 27 09:30:10.191123 2022] [watchdog:debug] [pid 11597:tid 140281045076928] mod_watchdog.c(454): AH010033: Watchdog: Running with WatchdogInterval 1000ms
[Tue Sep 27 09:30:10.191128 2022] [watchdog:debug] [pid 11597:tid 140281045076928] mod_watchdog.c(462): AH02974: Watchdog: found parent providers.
[Tue Sep 27 09:30:10.191132 2022] [watchdog:debug] [pid 11597:tid 140281045076928] mod_watchdog.c(508): AH02977: Watchdog: found child providers.
[Tue Sep 27 09:30:10.191135 2022] [watchdog:debug] [pid 11597:tid 140281045076928] mod_watchdog.c(516): AH02978: Watchdog: Looking for child (_singleton_).
[Tue Sep 27 09:30:10.191139 2022] [watchdog:debug] [pid 11597:tid 140281045076928] mod_watchdog.c(516): AH02978: Watchdog: Looking for child (_default_).
[Tue Sep 27 09:30:10.191655 2022] [core:trace4] [pid 11597:tid 140281045076928] mpm_common.c(533): mpm child 11623 (gen 0/slot 0) started
[Tue Sep 27 09:30:10.191949 2022] [core:trace4] [pid 11597:tid 140281045076928] mpm_common.c(533): mpm child 11624 (gen 0/slot 1) started
[Tue Sep 27 09:30:10.191968 2022] [mpm_event:notice] [pid 11597:tid 140281045076928] AH00489: Apache/2.4.29 (Ubuntu) Phusion_Passenger/5.3.4 OpenSSL/1.1.1 configured -- resuming normal operations
[Tue Sep 27 09:30:10.191973 2022] [mpm_event:info] [pid 11597:tid 140281045076928] AH00490: Server built: 2020-08-12T21:33:25
[Tue Sep 27 09:30:10.191982 2022] [core:notice] [pid 11597:tid 140281045076928] AH00094: Command line: '/usr/sbin/apache2'
[Tue Sep 27 09:30:10.191986 2022] [core:debug] [pid 11597:tid 140281045076928] log.c(1570): AH02639: Using SO_REUSEPORT: yes (1)
[Tue Sep 27 09:30:10.192288 2022] [watchdog:debug] [pid 11623:tid 140281045076928] mod_watchdog.c(565): AH02980: Watchdog: nothing configured?
[Tue Sep 27 09:30:10.192397 2022] [proxy:debug] [pid 11623:tid 140281045076928] proxy_util.c(1785): AH00925: initializing worker proxy:reverse shared
[Tue Sep 27 09:30:10.192412 2022] [proxy:debug] [pid 11623:tid 140281045076928] proxy_util.c(1842): AH00927: initializing worker proxy:reverse local
[Tue Sep 27 09:30:10.192442 2022] [proxy:debug] [pid 11623:tid 140281045076928] proxy_util.c(1877): AH00930: initialized pool in child 11623 for (*) min=0 max=25 smax=25
[Tue Sep 27 09:30:10.192550 2022] [mpm_event:debug] [pid 11623:tid 140280930666240] event.c(2218): AH02471: start_threads: Using epoll (wakeable)
[Tue Sep 27 09:30:10.193150 2022] [watchdog:debug] [pid 11624:tid 140281045076928] mod_watchdog.c(565): AH02980: Watchdog: nothing configured?
[Tue Sep 27 09:30:10.193477 2022] [proxy:debug] [pid 11624:tid 140281045076928] proxy_util.c(1785): AH00925: initializing worker proxy:reverse shared
[Tue Sep 27 09:30:10.193491 2022] [proxy:debug] [pid 11624:tid 140281045076928] proxy_util.c(1842): AH00927: initializing worker proxy:reverse local
[Tue Sep 27 09:30:10.193512 2022] [proxy:debug] [pid 11624:tid 140281045076928] proxy_util.c(1877): AH00930: initialized pool in child 11624 for (*) min=0 max=25 smax=25
[Tue Sep 27 09:30:10.193616 2022] [mpm_event:debug] [pid 11624:tid 140280930666240] event.c(2218): AH02471: start_threads: Using epoll (wakeable)
[ N 2022-09-27 09:30:10.1964 11574/T1 age/Cor/CoreMain.cpp:1185 ]: Passenger core shutdown finished
[ E 2022-09-27 09:30:12.5618 11602/T5 age/Cor/SecurityUpdateChecker.h:505 ]: Security update check failed: SSL connect error while connecting to https://securitycheck.phusionpassenger.com/v1/check.json (if this error persists check your connection security or try upgrading Passenger) (next check in 24 hours)

Any thoughts would be greatly appreciated.

Upvotes: 0

Views: 216

Answers (1)

Gurt204
Gurt204

Reputation: 11

I managed to figure out the problem, when deploying my coding changes I backed up the original file in the same directory just appending a date to it, for example my personnel_controller.rb was renamed to personnel_controller_20220926.rb and the modified personnel_controller.rb from dev was moved over. For whatever reason Rails (or maybe Apache) was still interrupting the old file rather then the new one. Once I moved the old file to a new location outside of the applicaitons directory and restarted Apache all worked fine. I am still new to Ruby on Rails in general so if anyone has an explanation as to why this is I would be curious to know.

Upvotes: 1

Related Questions