Results 1 to 7 of 7

Thread: Systems Change

  1. #1
    Systems Administrator
    Nadiar's Avatar
    Join Date
    Jun 2003
    Posts
    16,177
    Blog Entries
    9

    Systems Change

    All: We've had an issue with Apache (the service that served you websites) for the past few weeks where it fails less than gracefully. A few times it has happened I've been online and noted it failed and had it restored within 10-15 minutes. This weekend it was down from 5am to 9am, because I was asleep.

    Troubleshooting is hampered because Apache uses all of the RAM and CPU on the system and I can't get into it so I can take a look.

    I've replaced it with nginx, which runs way more efficiently than Apache. I didn't build us on nginx originally because 1) I didn't want to change too much at the same time 2) I hadn't adminned nginx, and wasn't confident in my ability to troubleshoot it.

    If you see anything weird, please let me know so I can fix it.
    "Complaining is the modern metagame" - BNet forums

  2. #2
    Formerly: Baelan Shadowbane
    Mad Vizier
    Devil Dog
    Ninetoes's Avatar
    Join Date
    Aug 2004
    Posts
    24,267

    Re: Systems Change

    WHO THE FUCK SLEEPS FROM 5AM to 9AM??? That's what's weird.

    "With your shield, or on it"

  3. #3
    Systems Administrator
    Nadiar's Avatar
    Join Date
    Jun 2003
    Posts
    16,177
    Blog Entries
    9

    Re: Systems Change

    Those of us not shackled down by children!
    "Complaining is the modern metagame" - BNet forums

  4. #4

    Re: Systems Change

    Quote Originally Posted by Nadiar View Post
    Those of us not shackled down by children!
    Word mah brother. I haven't been able to sleep that late for years and now I doubt I could even if I wanted. There were times a few years ago when me and Destructis started noticing we were the only names on the list at like 5AM

  5. #5
    Formerly: Baelan Shadowbane
    Mad Vizier
    Devil Dog
    Ninetoes's Avatar
    Join Date
    Aug 2004
    Posts
    24,267

    Re: Systems Change

    Quote Originally Posted by DmitrytheWizzy View Post
    Word mah brother. I haven't been able to sleep that late for years and now I doubt I could even if I wanted. There were times a few years ago when me and Destructis started noticing we were the only names on the list at like 5AM
    Aren't you in the office at like 5AM?

    "With your shield, or on it"

  6. #6
    Systems Administrator
    Nadiar's Avatar
    Join Date
    Jun 2003
    Posts
    16,177
    Blog Entries
    9

    Re: Systems Change

    my configurations if anyone is curious:

    Spoiler for configurations:

    /etc/nginx/nginx.conf
    Code:
    #########################################################################
    ### Daemon process user
    #########################################################################
    
    user  nginx;
    
    #########################################################################
    ### Raise Worker Limit
    #########################################################################
    
    
    worker_processes  8;
    worker_rlimit_nofile 65000;
    
    #########################################################################
    ### daemon error logging and pid information
    #########################################################################
    
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    #########################################################################
    ### Worker Configuration
    #########################################################################
    
    events {
        worker_connections  1024;
    ### multi_accept allows each worker to handle multiple connections
        multi_accept on;
        use epoll;
    }
    
    
    http {
    #########################################################################
    ### Security Changes
    #########################################################################
    
        server_tokens off;
    
    #########################################################################
    ### MIME Types
    #########################################################################
    
    
        include       /etc/nginx/mime.types;
        #default_type  application/octet-stream;
        default_type text/html;
    
    #########################################################################
    ### Logging
    #########################################################################
    
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
    #########################################################################
    ### Upload Limit
    #########################################################################
    
        client_max_body_size 8m;
    
    #########################################################################
    ### Sendfile() allows much faster tcp data transfer
    #########################################################################
    
        sendfile        	on;
        tcp_nopush     	on;
        tcp_nodelay 	on;
    
    #########################################################################
    ### Handle Timeouts
    #########################################################################
    
        keepalive_timeout  20;
        client_header_timeout 20;
        client_body_timeout 20;
        reset_timedout_connection on;
        charset UTF-8;
    
    #########################################################################
    ### Compression
    #########################################################################
    
        gzip  on;
        gzip_proxied any;
    
        gzip_min_length 256;
    
        gzip_comp_level 4;
    
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    #########################################################################
    ### Meta Data Caching
    #########################################################################
    
        open_file_cache max=65000 inactive=20s;
        open_file_cache_valid 30s;
        open_file_cache_min_uses 2;
        open_file_cache_errors on;
    
    #########################################################################
    ### Include conf daemon
    #########################################################################
    
        include /etc/nginx/conf.d/*.conf;
    }
    /etc/nginx/conf.d/graffe.com.conf
    Code:
    server {
    #########################################################################
    ###		Server Initialization
    #########################################################################
    	listen		 80;
    	server_name  graffe.com www.graffe.com _;
        root /var/www/html;
    
    #########################################################################
    ### Logging information
    #########################################################################
    	error_log /var/log/nginx/error.log;
    	access_log /var/log/nginx/access.log main;
    
    #########################################################################
    ### Block Badly behaving spiders
    #########################################################################
    	if ($http_user_agent ~* (Edition.Yx|Ahrefsbot|Baiduspider)) {
    		return 403;
    	}
    	
    #########################################################################
    ### Cache static files
    #########################################################################
    	location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    		access_log off;
    		expires max;
    	}
    	location ~* \.(js)$ {
    		access_log	off;
    		log_not_found	off;
    		expires		7d;
    	}
    	location ~* \.(woff|svg)$ {
    		access_log	off;
    		log_not_found	off;
    		expires		30d;
    	}
    
    #########################################################################
    ### Configure default file locations to always try finding an index
    #########################################################################
    	index index.php;
    	location / {
    		try_files $uri $uri/ /index.php index.php;
    		index  index.php index.htm index.html;
    	}
    
    #########################################################################
    ### Redirect Error Pages to the static nginx 50x page 
    #########################################################################
    	error_page  404              /404.html;
    	location = /404.html {
    		root /usr/share/nginx/html;
    	}
    	error_page	 500 502 503 504  /50x.html;
    	location = /50x.html {
    		root   /usr/share/nginx/html;
    	}
    
    #########################################################################
    ### Handle the IRC client
    #########################################################################
    	location /irc {
    		return 301 http://$server_name:7778;
    	}
    
    #########################################################################
    ### PHP-FPM to handle PHP requests
    #########################################################################
    	location ~* \.php$ {
    		try_files $uri =404;
    		fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    		fastcgi_index  index.php;
    		fastcgi_param  SCRIPT_FILENAME	$document_root$fastcgi_script_name;
    		fastcgi_param  SCRIPT_NAME	$fastcgi_script_name;
    		include		   /etc/nginx/fastcgi_params;
    	}
    
    #########################################################################
    ### Block access to hidden files such as .htaccess
    #########################################################################
    	location ~ /\. {
    		access_log off;
    		log_not_found off;
    		deny  all;
    	}
    }
    "Complaining is the modern metagame" - BNet forums

  7. #7
    Elder Arcanist

    Join Date
    Jun 2003
    Posts
    4,988

    Re: Systems Change

    I really like nginx. It is a nice robust web server that has decent support for languages. It is also very, very fast.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •