• Resolved MrYann

    (@mryann)


    Hi,

    When I add the following code:

    # BEGIN W3TC Page Cache core
    set $w3tc_rewrite 1;
    if ($request_method = POST) {
        set $w3tc_rewrite 0;
    }
    if ($query_string != "") {
        set $w3tc_rewrite 0;
    }
    if ($http_cookie ~* "(comment_author|wp\-postpass|wordpress_logged_in|wptouch_switch_toggle)") {
        set $w3tc_rewrite 0;
    }
    if ($http_user_agent ~* "(W3\ Total\ Cache)") {
        set $w3tc_rewrite 0;
    }
    set $w3tc_preview "";
    if ($http_cookie ~* "(w3tc_preview)") {
        set $w3tc_preview _preview;
    }
    set $w3tc_enc "";
    if ($http_accept_encoding ~ gzip) {
        set $w3tc_enc _gzip;
    }
    # END W3TC Page Cache core
    # BEGIN W3TC Browser Cache
    gzip on;
    gzip_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon image/webp application/json application/vnd.ms-access video/webm application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint application/x-shockwave-flash image/tiff application/x-font-ttf audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel;
    location ~ \.(css|htc|less|js|js2|js3|js4)$ {
        expires 31536000s;
        etag on;
        if_modified_since exact;
        add_header Pragma "public";
        add_header Cache-Control "public";
        add_header X-Powered-By "W3 Total Cache/0.9.7.2";
        try_files $uri $uri/ $uri.html /index.php?$args;
    }
    location ~ \.(html|htm|rtf|rtx|svg|txt|xsd|xsl|xml)$ {
        expires 3600s;
        etag on;
        if_modified_since exact;
        add_header Pragma "public";
        add_header Cache-Control "public";
        add_header X-Powered-By "W3 Total Cache/0.9.7.2";
        try_files $uri $uri/ $uri.html /index.php?$args;
    }
    location ~ \.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|webp|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|webm|mpp|otf|_otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|_ttf|wav|wma|wri|woff|woff2|xla|xls|xlsx|xlt|xlw|zip)$ {
        expires 31536000s;
        etag on;
        if_modified_since exact;
        add_header Pragma "public";
        add_header Cache-Control "public";
        add_header X-Powered-By "W3 Total Cache/0.9.7.2";
        add_header Link "<$scheme://$host$uri>; rel=\"canonical\"";
        if ($request_uri ~ ^[^?]*\.(ttf|ttc|otf|eot|woff|woff2|font.css)(\?|$)) {
            add_header Link "<$scheme://$host$uri>; rel=\"canonical\"";
            add_header Pragma "public";
            add_header Cache-Control "public";
            add_header X-Powered-By "W3 Total Cache/0.9.7.2";
            add_header Access-Control-Allow-Origin "*";
        }
        try_files $uri $uri/ $uri.html /index.php?$args;
    }
    add_header Referrer-Policy "";
    # END W3TC Browser Cache
    

    to /etc/nginx/nginx.conf

    The service is not restating. it gives an error for each added line.

    Feb 19 01:14:21 tnmc-web1 systemd[1]: Starting A high performance web server and a reverse proxy server...
    Feb 19 01:14:21 tnmc-web1 nginx[27603]: nginx: [emerg] "set" directive is not allowed here in /etc/nginx/nginx.conf:90
    Feb 19 01:14:21 tnmc-web1 nginx[27603]: nginx: configuration file /etc/nginx/nginx.conf test failed

    The existing file content (before adding anything) is:

    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    	# Basic Settings
    	##
    	client_max_body_size 120M;
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    # Enable Gzip compression
    gzip          on;
    
    # Compression level (1-9)
    gzip_comp_level     7;
    
    # Don't compress anything under 256 bytes
    gzip_min_length     256;
    
    # Compress output of these MIME-types
    gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/rss+xml
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-javascript
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/svg+xml
        image/x-icon
        text/css
        text/plain
        text/javascript
        text/x-component;
    
    # Disable gzip for bad browsers
    gzip_disable  "MSIE [1-6]\.(?!.*SV1)";
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    
    }
    
Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello,
    You should not modify the main NginX file. You suppose to add the rules within the server block, which is probably in /etc/nginx/sites-enabled/{domain}.conf
    If you don’t know where to put it, consider asking someone who does know, or we can offer you our Professional support.
    The nginx rules are most likely automatically added to an nginx.conf file in your root directory, which you can include inside the server block. That way, when the plugin changes the nginx file, he only has to reload the nginx config instead of copy pasting the code yourself.

    Thread Starter MrYann

    (@mryann)

    From the /etc/nginx/sites-enabled/{domain}.conf, Igot the same issue.

    Indeed I found it in the website root folder. is there a way to validate it’s loaded?

    Thread Starter MrYann

    (@mryann)

    I still get error related to accessing the config file.


    FTP credentials don’t allow to write to file /etc/nginx/nginx.conf

    W3 Total Cache Error: Files and directories could not be automatically created to complete the installation.

    Please execute commands manually
    or use FTP form to allow W3 Total Cache make it automatically.

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello,
    That means that you do not have sufficient files/folder permission.
    You need to change your permission manually or contact your host.

    Thread Starter MrYann

    (@mryann)

    I cannot give permissions. You just said we should not modify /etc/nginx/nginx.conf and this is the file he modify.

    If I giver access to this file, it breaks the webserver.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Web Server error on restart if adding required code to nginx.conf’ is closed to new replies.