128MB小内存VPS安装LNMP

Posted by 冰河 at 18:59 Add comments 45,048 Views
302012

买了个128MB内存的VPS,想装WordPress折腾下。软件当然首选LNMP,系统尝试了几次还是选Debian。话说高配置的机器还是推荐Centos,文档多,出了问题也好解决。但是像128MB内存的机器还是Debian省资源。

从lnmp.org下了一键安装包。可是尝试无数次都失败。最后看log发现是mysql安装失败。nginx和php都编译并安装,唯独mysql编译的时候out of memory了。于是想用一键安装包的脚本安装nginx和php等软件,mysql用apt-get安装。研究下了一键安装脚本,发现过于繁琐,虽然lnmp.org提供的一键安装包省事而且也能提高网站的访问体验,但是系统开销是很大的。

找来找去无意中看到了一个很神奇的脚本lowendbox的lowendscript。研究下了果断决定用这个脚本安装。

下面是LEB脚本包含的软件和对系统的修改
安装/替换的软件

dropbear to replace openssh. Invoked from xinetd.
inetutils-syslogd to replace rsyslog.
exim4 to replace sendmail (if installed). Re-configured to allow Internet delivery.
cron
nginx
mysql. Re-configured to remove innodb support, remove query cache and reduce key buffer size.
php with built-in FastCGI interface. Running only 1 child process and respawn after 5,000 requests.

对系统/软件的修改:

Removing some commonly bundled applications that should not be there in the first place for a minimal distro (apache2, sendmail, bind9, samba, nscd, etc).
MySQL root is given a new password (which can be found in ~root/.my.cnf)
Installing each WordPress site under /var/www/. It will create appropriate database, users and password for the site.

安装步骤:

1.下载lowendscript

wget –no-check-certificate https://github.com/lowendbox/lowendscript/raw/master/setup-debian.sh

2.优化系统

bash setup-debian.sh system

其实该命令包含:

remove_unneeded//移除不必要的组件,具体请参考脚本
update_upgrade//apt-get update 和upgrade
install_dash//安装dash代替bash
install_syslogd//安装轻量级syslogd代替rsyslog
install_dropbear//安装dropbear代替openssh

3.安装exim4代替sendmail

bash setup-debian.sh exim4

4.安装Nginx

bash setup-debian.sh nginx

5.安装PHP

bash setup-debian.sh php

默认开启一个php-cgi进程,修改方法:

echo “PHP_FCGI_CHILDREN=3″  > /etc/default/php-cgi

6.安装MySQL

bash setup-debian.sh mysql

root密码存放在/root/.my.cnf

我安装完重启mysql会报错Access denied for user ‘debian-sys-maint’@'localhost’ (using password: YES),解决办法:

cat /etc/mysql/debian.cnf
查看到相关的passwod,替换下面的$passwod
GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@'localhost’ IDENTIFIED BY ‘$passwod’  WITH GRANT OPTION;

7.安装Wordpress

bash setup-debian.sh wordpress $domain

这步除了安装wordpress文件,还会建立名为$domain的数据库,修改wp-config.php里的信息。并在/etc/nginx/sites-enabled/下建立名为$domain.conf的配置文件。注意该配置文件和普通的配置文件有点区别:

一般的nginx会使用php-cgi监听TCP port localhost:9000,典型配置为:

location ~ \.php$ {
root           /usr/share/nginx/sites-enabled/$host;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/sites-enabled/$host$fastcgi_script_name;
include        fastcgi_params;
}

但是lowendscript 使用unix:/var/run/www/php.sock for FastCGI。作者说Unix domain socket is slightly faster and good enough for a single box setup.

所以$domain.conf配置文件里只有简单一句include /etc/nginx/fastcgi_php;

我在安装wordpress时发现无法加载css和图片,解决办法是在上面的配文件里加上:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
root $pwd;
if (-f $request_filename) {
expires 1d;
break;
}
}

另外附上Nginx下WordPress的固定链接&伪静态设置:

lnmp的/usr/local/webserver/nginx/conf 下面已经有了 discuz.conf 和 wordpress.conf文件,它们和nginx.conf在同一个文件夹。

编辑/usr/local/nginx/conf/nginx.conf文件

include discuz.conf; 或者 include wordpress.conf;
如:
server
{
listen       80;
server_name www.xiaoboyang.com;
index index.html index.htm index.php;
root  /home/wwwroot;
include wordpress.conf;

location ~ .*\.(php|php5)?$
{
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}

location /status {
stub_status on;
access_log   off;
}

然后执行如下命令重启lnmp即可:
/root/lnmp restart

或者只重启 nginx 用命令:
/etc/init.d/nginx  reload

UPDATE1:怪不得BuyVM的VPS都抢,同样是128MB的内存,BuyVM的VPS就能编译通过lnmp.org的一键安装包,而123Systems的就不行。

参考链接:

http://www.lowendbox.com/blog/wordpress-cheap-vps-lowendscript/

http://www.guyusoftware.com/2012-03-23-1194.html

http://yjw1983.blog.51cto.com/265702/690683

相关日志

2 Responses to “128MB小内存VPS安装LNMP”

  1. 这个脚本用dropbear替换了ssh以后我就不会在mac的终端上连接服务器了,不知道端口是什么了,也不清楚还是不是以前的命令(ssh -p xxxx -l root x.x.x.x)……还请指教!我是新手小白……

  2. 安装Sqlite+PHP 开3-10个apache进程无压力。 我安装了punbb一个 typecho一个akcms2个。博客、论坛+2个图站。小C了下,内存一直没怎么上去呢。
    actgod的lnamp方案也不错。跑WP 无压力。。
    探针:http://s17.99288.net.cn/ 状态:http://status.s17.99288.net.cn/

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Protected by WP Anti Spam
© 2009 - 2024 冰河的博客