Question

Screwed up Nginx with yum update to 1.8.0

Hello. I did a “yum update” on my DO droplet with Linux. Now I have Nginx 1.8.0, but now my config doesn’t work for some reason. It gives me an error while starting up:

Feb 09 09:52:37 servername systemd[1]: Starting The nginx HTTP and reverse proxy server… 
*Feb 09 09:52:37 servername nginx[27173]: nginx: [alert] version 1.6.3 of nginx.pm is required, but 1.8.0 was found 
*Feb 09 09:52:37 servername nginx[27173]: nginx: configuration file /etc/nginx/nginx.conf test failed 

Any ideas how to fix this? I tried the options mentioned here - http://serverfault.com/questions/690265/nginx-1-6-3-to-1-8-upgrade - but they don’t work. Here’s my nginx.conf:

location ~ \.php$ {

	try_files $uri =404;
	fastcgi_index index.php;
	
	#include fastcgi_params;
	include fastcgi.conf;

	#This is the first line inside fastcgi.conf
	#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

	#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
	fastcgi_pass 127.0.0.1:9000;
              
}

Just FYI:

  1. I tried fastcgi_pass with the unix sock thing, instead of the 127.0.0.1:9000 bit. Both give the same error.

  2. Here’s my full fastcgi.conf file:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

Sorry to tell you this, but if you go for 1.9.5 or newer (I ran 1.9.10) you can use http/2 :-) I compiled it from source, it’s not very hard: https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

I’m looking forward to the dynamic modules in the 1.9.11 though, maybe we soon have dynamic module for ngx-pagespeed :-)

http://mailman.nginx.org/pipermail/nginx-announce/2016/000170.html

Hi , It looks like you have both nginx versions installed. You could try to keep the only one needed with the following command :

yum replace nginx16 --replace-with=nginx18

Hope this helps

It looks like something on your server is expecting Nginx 1.6.3, possibly the perl module. Are you using your distribution’s packages? What distribution are you running?