Engelska (change) 
Installera och konfigurera Nginx webbserver, tweaking standardfilen struktur, sedan skapa en vhost fil med symbolisk länk är föremål för denna kopiera / klistra in how-to. Så öppna som CLI och jag ska förklara.
Så vi är redo att installera en stjärna attraktion, Nginx (uttalas "motor-x"). Men varför? Inte Apache bäst webbserver?
Apache har tjänat mig väl under många år, både lokalt och på fjärr-värdar, och är fortfarande ett önskvärt val för många stora webbplatser.
Men, kinda like Ubuntu, Firefox och jQuery, det finns en New Kid in Town, och det är smidigare, enklare att konfigurera och använda, och snabbare att tjäna. Ange Nginx webbservern.
I 20 copy / paste steg .. från noll till hjälte, tomma rutan för söt-som Linux-server.
Bläddra nedåt för hela serien index.
Så, hey, skjul delade & viva virtuellt! Hoppas det hjälper. The_guv
Titta på, er, guvideo för en bättre uppfattning om hur man gör detta.
Kolla the_guv s YouTube-kanal på http://youtube.com/guvnrDOTcom
... eller om du inte kan bli störd av det, eller ens om du kan, här är detaljerna ...
Jag påstår inte att vara expert, bara någon som har forskat extremt noggrant. Jag koncentrerade sig huvudsakligen på de två mest populära, bäst etablerade webbservrar, Apache och Lighttpd och den unge turken alternativ, Nginx, om vilken geekdom är alla aflutter. Här följer en sammanfattning av mina viktigaste resultaten: --
Jag har använt denna lätta server för min resurs-tung WordPress blog, guvnr.com, och är imponerad av sin gedigna prestanda. Också viktigt, har det inte att Windows-liknande tendens, en Apache plåga också, så slöseri med resurser genom att köra en massa tjänster som jag inte behöver.
Ta inte mitt ord för det. Du bör inte, eftersom jag inte har utfört några benchmark-tester. Google något liknande Apache vs Nginx "eller Nginx vs Lighttpd och har läst. And here's the Nginx wiki.
Det finns två sätt att installera mjukvara på Linux, använder integrerad installation verktyg eller från källkod.
Normalt installerar vi internt, använder ungefär som Linux installer "aptitude ', men eftersom detta är en så viktig del av vår VPS, jag ska visa dig hur man installerar från källkod. Denna metod tar lite längre tid, men det är värt det eftersom vi har en mycket mer up-to-date version.
.. Med en webbserver, bör vi inte skära hörn. Det skulle vara som att köpa en gul Ferrari.
Först upp, behöver vi en del beroende filer: --
sudo aptitude -y install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
And to create a directory in which to store the Nginx package:-
mkdir ~/sources
Change to that directory:-
cd ~/sources/
Now we get the latest stable Nginx release, nginx-0.7.62 *.
* As of September 2009, edited by the_guv. You should still check it is still the latest, here , and ammend the filename accordingly:-
wget http://sysoev.ru/nginx/nginx-0.7.62.tar.gz
Unzip it:-
tar -zxvf nginx-0.7.62.tar.gz
Go into the new unzipped folder:-
cd nginx-0.7.62
Compile with two options; where to install it, and including 'ssl' (to enable 'https' for secure connections, ie shopping and stuff):-
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module
Install this baby:-
make sudo make install
Kick it up:-
sudo /usr/local/sbin/nginx
And test it by popping your IP address in a web browser. You should see "Welcome to nginx!"
Now stop it:-
sudo kill `cat /usr/local/nginx/logs/nginx.pid`
This is important, for example, upon reboot. We need a script for this. Create a file:-
sudo nano /etc/init.d/nginx
And paste this within:-
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Then give the file permissions and make the script run on reboot, else start/stop/restart when required:-
sudo chmod +x /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults
Now open the Nginx configuration file:-
sudo nano /usr/local/nginx/conf/nginx.conf
...and strip out all the content, delete the lot. CTRL-K is the easy way to do that, if you were wondering.
And replace with this:-
user www-data www-data;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
keepalive_timeout 5;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /usr/local/nginx/sites-enabled/*;
}
The Nginx file structure is pretty messy for multiple sites, so we'll sort that.
First, layout some new folders:-
sudo mkdir /usr/local/nginx/sites-available sudo mkdir /usr/local/nginx/sites-enabled
...the first is for our virtual host (vhost) files, the second for their corresponding symlinks which will be referenced by Nginx' config file.
You have one of each per domain, and one of each for the default settings.
The symlink, or symbolic link, references the web server to the virtual host file.
The vhost file is a configuration file. It tells the web server, for example, things like where the web files live or the kind of URI structure you want.
For now, we need a default vhost file, and that goes in the sites-available folder. So:-
sudo nano /usr/local/nginx/sites-available/default
Now paste this:-
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root html;
}
}
And enable it with this symlink:-
sudo ln -s /usr/local/nginx/sites-available/default /usr/local/nginx/sites-enabled/default
Boot it up again:-
sudo /etc/init.d/nginx start
...and check for that "Welcome..." page again, using your IP in a web browser.
Splendid. All pretty. And pretty well organised.
So that's Nginx up and running.
In Part 12 of this series Set Up an Unmanaged VPS (4 Newbies) I'm taking a quick detour, setting up FileZilla so we've got a Secure FTP (SFTP) connection. That'll be handy to help demonstrate Part 13, when we create another folder structure, this time for our sites and blogs, and pop up a couple of test pages.
Then, in Part 13, I'll show you how to use Subversion to more easily install and upgrade platforms and their modules/plugins. I'll example the popular WordPress scenario - and while we're about it we'll sort out WordPress caching and friendly-URLs.
And then, this, that, the other. Cue index ..
Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.
That's what the VPS Bible is about, stepped out in simple copy & paste guides.
From high traffic WordPress blogs to startup web hosts, here's what you need.
Set it up? Click here for the 21 part follow-up .. V-P-S Admin
sudo aptitude -y install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
And to create a directory in which to store the Nginx package:-
mkdir ~/sources
Change to that directory:-
cd ~/sources/
Now we get the latest stable Nginx release, nginx-0.7.62 *.
* As of September 2009, edited by the_guv. You should still check it is still the latest, here , and ammend the filename accordingly:-
wget http://sysoev.ru/nginx/nginx-0.7.62.tar.gz
Unzip it:-
tar -zxvf nginx-0.7.62.tar.gz
Go into the new unzipped folder:-
cd nginx-0.7.62
Compile with two options; where to install it, and including 'ssl' (to enable 'https' for secure connections, ie shopping and stuff):-
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module
Install this baby:-
make sudo make install
Kick it up:-
sudo /usr/local/sbin/nginx
And test it by popping your IP address in a web browser. You should see "Welcome to nginx!"
Now stop it:-
sudo kill `cat /usr/local/nginx/logs/nginx.pid`
This is important, for example, upon reboot. We need a script for this. Create a file:-
sudo nano /etc/init.d/nginx
And paste this within:-
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Then give the file permissions and make the script run on reboot, else start/stop/restart when required:-
sudo chmod +x /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults
Now open the Nginx configuration file:-
sudo nano /usr/local/nginx/conf/nginx.conf
...and strip out all the content, delete the lot. CTRL-K is the easy way to do that, if you were wondering.
And replace with this:-
user www-data www-data;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
keepalive_timeout 5;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /usr/local/nginx/sites-enabled/*;
}
The Nginx file structure is pretty messy for multiple sites, so we'll sort that.
First, layout some new folders:-
sudo mkdir /usr/local/nginx/sites-available sudo mkdir /usr/local/nginx/sites-enabled
...the first is for our virtual host (vhost) files, the second for their corresponding symlinks which will be referenced by Nginx' config file.
You have one of each per domain, and one of each for the default settings.
The symlink, or symbolic link, references the web server to the virtual host file.
The vhost file is a configuration file. It tells the web server, for example, things like where the web files live or the kind of URI structure you want.
For now, we need a default vhost file, and that goes in the sites-available folder. So:-
sudo nano /usr/local/nginx/sites-available/default
Now paste this:-
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root html;
}
}
And enable it with this symlink:-
sudo ln -s /usr/local/nginx/sites-available/default /usr/local/nginx/sites-enabled/default
Boot it up again:-
sudo /etc/init.d/nginx start
...and check for that "Welcome..." page again, using your IP in a web browser.
Splendid. All pretty. And pretty well organised.
So that's Nginx up and running.
In Part 12 of this series Set Up an Unmanaged VPS (4 Newbies) I'm taking a quick detour, setting up FileZilla so we've got a Secure FTP (SFTP) connection. That'll be handy to help demonstrate Part 13, when we create another folder structure, this time for our sites and blogs, and pop up a couple of test pages.
Then, in Part 13, I'll show you how to use Subversion to more easily install and upgrade platforms and their modules/plugins. I'll example the popular WordPress scenario - and while we're about it we'll sort out WordPress caching and friendly-URLs.
And then, this, that, the other. Cue index ..
Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.
That's what the VPS Bible is about, stepped out in simple copy & paste guides.
From high traffic WordPress blogs to startup web hosts, here's what you need.
Set it up? Click here for the 21 part follow-up .. V-P-S Admin
Install/Upgrade WORDPRESS with SUBVERSION - VPS Bible #15 - GUVNR June 9th, 2009 at 11:38 am
[...] Part 11: * Nginx (better than Apache) Web Server [...]
Configure NGINX Multi-Site Virtual Hosts - VPS Bible Pt 13 - GUVNR June 9th, 2009 at 11:38 am
[...] Part 11: * Nginx (better than Apache) Web Server [...]
mnyman June 10th, 2009 at 6:34 pm
This has been really amazing, so thanks a bunch.
For those of us who are completely new at this, I get a warning when I "boot it up again" that says:
Starting nginx: [warn]: duplicate MIME type "text/html" in /usr/local/nginx/conf/nginx.conf:21
Looking in the file, I couldn't find anything duplicating. Do you know why this would happen? Having errors like these explained is especially comforting when we don't fully understand what is going on. Thanks again for all your work on this.
the_guv June 10th, 2009 at 11:10 pm
Hi Mnyman,
Hmmn, sorry to say, looks like you've made a typo. Unless .. is there any discrepancy between what I have set down from the start to where you are, and what you have done?
Tell you what though .. click on Contact and send me an email with the content of nginx.conf, and I'll take a look.
crazeworthy June 23rd, 2009 at 10:13 am
The problem is with line 20, there is a carriage return which puts application/xml+rss text/javascript; in a separate line. That conflicts with the include mime.types;
Just make sure that is removed and I think it should go smoothly. This is a great write up guv!
Matt June 23rd, 2009 at 4:24 pm
Great series!
Wanted to let you know that the install step didn't work for me. Used instruction here: http://www.ubuntugeek.com/howto-install-nginx-webserver-in-ubuntu-804-hardy-heron.html and it worked.
I'm definitely not saying your wrong (I'm the definition of a newbie) but wanted to let you know.
Thanks for a great tutorial!
crazeworthy June 23rd, 2009 at 5:23 pm
Previous comment was incorrect see link below:
http://forum.slicehost.com/comments.php?DiscussionID=3763
the_guv June 25th, 2009 at 1:42 pm
@crazeworthy - pleased you sorted that. tx for the tx!
can be a bit fiddly though. pay attention m8!
@matt - aye, me likes the ubuntu geek. dunno what went wrong for you, this method sure worked in testing, twice or thrice
@all - 1 tip .. don't try to copy the code direct from the post .. there's an icon at the top right of each code box, next to the printer icon. Click on that, and then copy/paste from there.
All that said, damn, any probs, lemme know.
***
UPDATE, FIX! RE: Nginx Warning on Start/Restart. Sorry folks, there was a mistake in the nginx.conf file, which was throwing a Warning (not an error, but annoying all the same.)
If you really wanna know, I had a duplicate MIME type "text/html" in the conf .. duplicate because the GZIP engine GZIP-ed that MIME type anyway, so it wasn't needed to be repeated in the conf. Anyhow, sorted.
oligolli June 27th, 2009 at 11:18 pm
Thanks for all these tuts, really helped a newbie here.
I'm a bit stuck with the permissions on the /wp-content/uploads folder. I admit I didn't follow your tutorials to the letter, mainly because I am using Centos, but the Nginx user (www-data in your example) confuses me a little.
Should the Nginx user be the owner of the uploads folder or in the same "webmasters" group?
Samuel July 6th, 2009 at 4:29 pm
When trying to start nginx using sudo /etc/init.d/nginx start I get the following error:
Starting nginx: start-stop-daemon: --start needs --exec or --startas
Try `start-stop-daemon --help' for more information.
:'(
the_guv July 7th, 2009 at 5:12 am
@ollygolli .. really depends what you want to do, but probably I could have been clearer about permissions.
a simple scheme would be to add your username to nginx' www-data group, while owning the html_public directory and within. for that, do this:-
usermod -G www-data username
sudo chown -R username:www-data /home/public_html/
or if you've got a bunch of sites for different users, chown username:www-data within their public folders, recursively:-
sudo chown -R username:www-data /home/public_html/somedomain.com/public
@Samuel .. real sorry, can't replicate that error. have you followed the series, sounds like your setup is different somehow.
@Samuel .. CORRECTION. more sorry! was a new plugin playing havoc. sorted now. apologies all.
gordon yeong July 17th, 2009 at 1:39 pm
nah this still doesn't work even when i joined lines 21 and 20 into line 20.
#
#
crazeworthy June 23rd, 2009 at 10:13 am
The problem is with line 20, there is a carriage return which puts application/xml+rss text/javascript; in a separate line. That conflicts with the include mime.types;
Just make sure that is removed and I think it should go smoothly. This is a great write up guv!
the_guv July 19th, 2009 at 11:32 am
@Gordon .. probably nothing to do with carriage return. what's not working .. as much info as you can and I'll try to help you isolate the problem or, if you sorted the issue, let us know how.
@Crazeworthy .. tx for the tip .. carriage rtn removed.
Patrick August 26th, 2009 at 4:55 am
Hello The_Guv,
I have problems with wordpress mu and the rewrite rules for nginx
I tried a lot of different codes but anything is work.
http://mu.wordpress.org/forums/topic/3410
I was making the chances in sudo nano /usr/local/nginx/sites-available/default
My wordpress mu blog is in the root http://www.blognetwerk.net/blogs/
I hope you can help me.
the_guv August 26th, 2009 at 12:29 pm
@Patrick .. read the comments from Trav19 on Setup WordPress on NGINX (FURLs & Cache) - VPS Bible Pt 13 .. I've not had time to play properly with my MU install yet, but think Travis found the answer.
Let me know how you get on. In fact, print the rule! And if it doesn't work, let me know and I'll have a think.
Pierre September 2nd, 2009 at 10:23 am
If you are a programmer, have a look at the source code.
Nginx is simply clearer than others, better engineered and stronger. It is made by more experienced people than all the others I have seen.
In my humble opinion, that's a piece of Art (and I know one thing or two on the subject).
Pierre.
Wai Wong September 16th, 2009 at 6:01 am
Is there a proper way to update nginx? Initially I installed with Nginx 0.7.61, the latest is now Nginx 0.7.62. I want to make sure I don't mess anything up.
thanks,
the_guv September 16th, 2009 at 5:48 pm
@Pierre .. big cheers, Sir. That's quite a project you've got there with G-WAN, BTW. Dunno I can wean off PHP quite so easily tho
@Wai .. You've got a point .. it's a pretty complex procedure to sum up quickly, but very important to add .. I'll add a guide on how to upgrade next week .. that's a promise.
[edit] sorry Wai .. I broke the promise. Then again, I also busted my motherboard
I do have this on teh list though, for the VPS ADMIN series ..
Maintain Unmanaged VPS (4 Newbies) .. V-P-S Admin
.. along with some additions to the Bible's sequel. On the way .. [/edit]
the_guv September 24th, 2009 at 2:15 pm
IMPORTANT NGINX UPGRADE ANNOUNCEMENT
@everyone ..
.. bozo-here upgraded the Bible last week to reflect the latest Nginx stable release - 0.7.62 - then forgot to mention it.
Apologies for any confusion to those folks who wondered why the version had changed overnight, and what if anything that meant ..
Actually, the change did impact one thing. In the section Serve Multiple Sites & Blogs with Virtual Hosts , a fastCGI shared library file became obsolete, now replaced by another, but anyone installing from this guide would have been prompted about this newly recommended file .. I know because I've tested it, and have had confirmation from Zereshk who followed this guide and kindly nudged me to amend that post, which I have.
NOW FOR THE MOST IMPORTANT BIT
Future note: As Nginx or other key application stable releases are upgraded, I'll be amending the Bible accordingly, the changes tested each time. Also, for the record, and as has been rightly requested by one or two folks, I'll be adding a How to Upgrade Nginx Safely guide in the VPS Admin section, pretty shortly, so watch for that .
Cheers all.
Anonymous October 13th, 2009 at 5:05 am
I would like to point out that WordPress.com actually uses LiteSpeed for a backend. nginx is still the best lightweight frontend in my opinion.
the_guv October 13th, 2009 at 11:31 am
@anon .. thank you. I stand corrected, as is the post. I think this clears it up.
Intriguingly, stated in this post, "we are not using nginx as a web server currently, but may switch at some point."
WordPress uses Nginx, currently, for their load-balancing.
thanh November 4th, 2009 at 11:06 pm
how do you go about upgrading to newer versions of nginx?
JIm Davis November 11th, 2009 at 3:25 pm
I have been using your online tutorial ... all is going well with one exception. When I issue the n2r
nginx stops but does restart ... the following error message is issued instead (see below). Since I am newbie am not sure how to correct this problem.
permission denied when trying to open a error log file at "/user/local/nginx/logs/error.log" error 13
It has something to do with not having master privileges. FYI I did work through all of the preceeding tutorial including creating my user name and aliases.
Thank you for effort ... very good job
Jim
agus November 12th, 2009 at 2:54 am
Hey Guv,
Cant wait for your guide on upgrading Nginx... I really need to get rid of 502 bad gateway problem with my site (this happens when the site gets very busy, and when this happens I have to reboot my server)
I am not sure upgrading will fix it, since it is really fastCGI problem if I am correct...
thanks!
agus
the_guv November 12th, 2009 at 6:33 am
@thanh & @agus .. sure, this guide is overdue .. bear with me, I've got a lot on at the mo but this should be done by the end of the month.
thank you, everyone, for your patience .. the Bible's taken a lot longer, well, months and more months longer, than I'd anticipated.
.. then again, hopefully it's better, more detailed than ever, at least, than I thought it would be, and as I said in VPS Bible Reflects New Nginx/WordPress Versions, with Future Commitment , now it looks like I'll never really finish it, just keep upgrading and adding to it, whether focusing on Nginx or other web servers, and also considering other VPS solutions .. I've got a bug about proxying in particular and, hey Agus this may help you, I've got a plan to test and write about a fastCGI alternative pretty shortly.
And then, quite aside from VPS stuff, I wanna be writing more about Linux Desktop solutions, and basically to encourage people to ditch that passe sh1te that is Windows .. and that's what The 25-Part Ubuntu KARMIC KOALA BIBLE was about .. terribly populist I know, and yes I am a cynical populist (damn, I used to write for the BBC, how cynical is that place!) .. er, it worked .. I'm getting published in a massive online place on 20th this month and, that aside, traffic quadrupled overnight, which was like a shot in the arm.
.. And I wanna be writing more about making the most of the web , as opposed to just writing about making the web .. so stuff like how to Twitter effectively or into using some of the best Firefox addons for fun and productivity .. but also stuff like how to SEO (Google loves my SEO) and loads on WordPress .. plus a few laughs here and there. So that's quite a lot, huh, and that's just about this site!
Hey folks .. let me know .. throw me some feedback .. I know I'm gaining some loyal community out there, born largely out of this VPS Bible, and I don't want to turn my back on or somehow abuse that. This is my first blog, and its direction is still evolving, and I have a lot to learn.
And re the Nginx upgrade piece, bear with me, for sure it is about time done! Er, yeah, that was the point of this reply, huh .. got ranting a bit .. you should hear me watching the news ..
agus November 14th, 2009 at 3:42 am
Thanks Guv... your a good man!
eran November 16th, 2009 at 9:51 pm
Hi
Many thanks for the site
Eran
the_guv November 18th, 2009 at 11:33 am
@eran .. You're welcome, thanks for the thanks.