Get Nginx with FastCGI

Hi,

I’m new here. I have an application that uses C++ in the backend and so I need FastCGI to run it. Is there any way I can install Nginx or run some other lightweight server that supports FastCGI in the container?

Thank you in advance!

Hi @arcanck,

thanks for your question :slight_smile: We don’t have an ETA for it, but we certainly care to add any technology people are interested in :slight_smile: Currently we are focusing on the JavaScript/Node environment though, so other languages, runtimes and framework are handled with lower priority.

Stay tuned for more news soon anyway :slight_smile:

Hi, @etamponi!

Ok I understand. I found a project that has Apache available. However, it has only mod_cgi and mod_cgid modules. Is there any possibility of just adding mod_fcgi, for me to use instead?
The project I am referring to is the following: https://glitch.com/~lamp-poc

Thanks for the reply!

Hi @arcanck,

I’ve added nginx and mod-fastcgi to the containers :slight_smile:

3 Likes

Thank you very much, @etamponi!

But now I have the following problem: I can not start or even configure the server for my application.

$ nginx
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2018/07/20 14:24:26 [warn] 641#641: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/ngin
x/nginx.conf:1
2018/07/20 14:24:26 [emerg] 641#641: mkdir() "/var/lib/nginx/body" failed (13: Permission denied)

can’t you specify a different location for the logs? I don’t know nginx, but I am sure the docs would tell you if that’s possible.

Well, everything else I can change through the command line, with a custom configuration file. Except this path of the error_log file. Even changing in the custom file, command line or even disabling in the same file. From what I saw in the Nginx documentation, this is because the default log error file is called before the configuration file. And unfortunately as it is an “emerg” error, the server can’t start because it needs access to the default log file.

2018/07/20 16:40:29 [emerg] 5491#5491: open() "/var/log/nginx/error.log" failed (13: Permission denied)

Have you tried the -p flag? https://stackoverflow.com/a/17127106/10000096

Hi,

Yes, I tried. In many ways and I keep getting the error. I found the following comments on the link you sent me:

Per this post on the nginx.org mailing list (extract quoted below), the %%ERROR_LOG_PATH%% is set as a compile option, and checked immediately on startup, causing the “Could not open” alert. Specifying the prefix (with -p) may help suppress the alert, but only if the %%ERROR_LOG_PATH%% was specified as a relative path at compile time.

You can check how it is specified in your current executable with

nginx -V 2>&1 | grep -oE ‘error-log-path=\S*’

That is why the solution proposed by @Michael works for some, but not for others.

Running the above command, I have following return:

error-log-path=/var/log/nginx/error.log

So it isn’t a relative path. So that is probably the cause of the problem.

That’s a shame :frowning: I’ll not be able to change the permissions on that directory now, but I’ll make sure I’ll do it when I have time… sorry :frowning:

2 Likes

Oh, no problem. I wait until this is possible.
Once again, thank you!

Was this issue ever resolved?

I was just experimenting with nginx and I had the same error message that you cited earlier in the thread.

Hey @dnrtc we haven’t made this change yet, but I’ll bring it up to the team and see if it’s something we can fit into a future container update. That won’t happen immediately, though. Sorry for the bother!

1 Like

No worries, I’m still poking around and learning. Nothing big at stake :wink:

Thanks for the update!