小内存VPS安装web环境

admin 2019-5-4 297

前言:小内存VPS,安装Lighttpd,SQLite和PHP建站环境,探针,当然也可以建站。

1、推荐使用的系统,Debian 7.0 x86 minimal 或者 Debian 7.0 x86。

2、先升级下系统,再清理下不需要的组件,准备精简系统,清理不需要的组件。
打开 /etc/apt/sources.list 把下面的粘贴进去覆盖。

deb http://archive.debian.org/debian/ wheezy main contrib non-free

修改好了之后,在终端依次运行下列命令,如果VPS内存太小,可以运行一段重启一次,再运行。

apt-get -y update&&apt-get -y upgrade #升级系统apt-get -y purge apache2-* bind9-* xinetd samba-* nscd-* portmap sendmail-* sasl2-bin #移除多余的软件apt-get -y purge lynx memtester unixodbc python-* odbcinst-* sudo tcpdump ttf-* #移除多余的组件apt-get -y autoremove && apt-get clean #清理缓存文件

这里,我们要先对debian系统进行升级、精简不必要的自带软件和组件,这样可以在一定程度上节省几M内存占用。

以上执行完成后,再重启下,下面就需要安装web环境了

3、安装安装Lighttpd,SQLite、PHP,轻便的web服务,跑一个博客是没有问题的。
因为考虑到mysql占用资源较大,即便能够安装,后面基本也跑不动,内存经常爆炸。
所以还是准备使用SQLite数据库,因为ZBLOG PHP和TYPECHO程序都带的,占用资源很小。
本站运行在Bandwagon Host的64Mvps上,vps还安装了Shadowsocks-libev自用。
依次在终端运行

apt-get install -y sqlite #安装sqlite数据库apt-get install -y lighttpd #安装lighttpd引擎驱动apt-get install -y php5-cgi php5-curl php5-gd php-pear php5-imagick php5-imap php5-mcrypt php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl #安装PHP以及相关站点需要的组件

修改/etc/php5/cgi/php.ini
文件中的cgi.fix_pathinfo参数,取消前面的;然后检查参数值是不是1,如果不是需要修改成1。
在 disable_functions 里面,你可以删除默认禁用的函数,当然你也可以保留它来保证环境的安全性。

修改Lighttpd配置文件,把下列覆盖到/etc/lighttpd/lighttpd.conf

server.modules = (
        "mod_access",        "mod_alias",        "mod_compress",        "mod_redirect",        "mod_rewrite",        "mod_fastcgi",    )
    
    server.document-root        = "/var/www"
    server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
    server.errorlog             = "/var/log/lighttpd/error.log"
    server.pid-file             = "/var/run/lighttpd.pid"
    server.username             = "www-data"
    server.groupname            = "www-data"
    server.port                 = 80
    
    
    index-file.names            = ( "index.htm", "index.html","default.htm", "index.php" )
    url.access-deny             = ( "~", ".inc" )
    static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
    
    
    dir-listing.encoding = "utf-8"
    server.dir-listing = "enable"
    
    compress.cache-dir = "/var/cache/lighttpd/compress/"
    compress.filetype = ( "application/x-javascript", "text/css", "text/html", "text/plain" )
    
    
    include_shell "/usr/share/lighttpd/use-ipv6.pl"
    include_shell "/usr/share/lighttpd/create-mime.assign.pl"
    include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
    
    fastcgi.server = ( ".php" => ((
    "bin-path"                => "/usr/bin/php5-cgi",    "socket"                  => "/tmp/php.socket",    "max-procs"               => 1,    "bin-environment"         => (
    "PHP_FCGI_CHILDREN"       => "4",    "PHP_FCGI_MAX_REQUESTS"   => "1000"
    ),    )))

lighttpd的默认web、日志目录存放所有权

chown -R www-data:www-data /var/wwwchown -R www-data:www-data /var/log/lighttpd

重启lighttpd生效,每次修改了php.ini或者lighttpd.conf,都需要重启下lighttpd。

/etc/init.d/lighttpd restart

最后,你就可以在/var/www 文件夹上传你的php探针,然后通过ip访问探针了。


最新回复 (3)
  • admin 2019-5-4
    2

    Lighttpd绑定域名

    web环境是通过ip访问的,但别人可以通过绑定你的IP,实现一样的镜像。
    所以,我们需要绑域名到指定域名。

    1、创建文件夹,当然也可以通过可视化WinSCP来创建。

    mkdir -p /home/wwwroot/test.com

    2、给该目录www-date权限

    chown www-data:www-data /home/wwwroot/test.com

    3、在 /etc/lighttpd/lighttpd.conf 下新增
    不要删除上面的,在文件最后,添加下面脚本配置站点。

    $HTTP["host"] =~ "(^|\.)test\.com$" {server.document-root = "/home/wwwroot/test.com"accesslog.filename = "/var/log/lighttpd/default/access.log"server.error-handler-404 = "/404.html"}

    第一行是域名,第二行是绑定的目录,第三行是日志,第四行是404错误页面。
    理论上,只需要第一行和第二行就可以运行了。

    4、设置完成后,重启Lighttpd,让其生效。

    /etc/init.d/lighttpd restart

    要主要一个细节,就是在上传php程序后,比如Typecho安装提示无权限,需要在终端再次执行。

    chown www-data:www-data /home/wwwroot/test.com


  • admin 2019-5-4
    3


    网上基本没什么教程,但是搜索了下,还是找到了,把几篇文件进行了整理。
    修改 /etc/lighttpd/lighttpd.conf 下新增,之前绑定的域名要删除掉。

    1. # 添加 SSL 证书路径  
    2. $SERVER["socket"] == ":443" {  
    3. ssl.engine = "enable"  
    4. ssl.pemfile = "/etc/ssl/private/www.test.com.pem"  
    5. ssl.ca-file = "/etc/ssl/private/www.test.com.crt"  
    6. server.name = "www.test.com"  
    7. server.document-root = "/home/wwwroot/"  
    8. }  
    9.   
    10. # 强制定向到 HTTPS  
    11. $HTTP["scheme"] == "http" {  
    12. $HTTP["host"] == "test.com" {  
    13. url.redirect = (".*" => "https://www.test.com$0")  
    14. }  
    15. }  
    16. $HTTP["scheme"] == "http" {  
    17. $HTTP["host"] == "www.test.com" {  
    18. url.redirect = (".*" => "https://www.test.com$0")  
    19. }  
    20. }  
    21.   
    22. # 启用 HSTS  
    23. server.modules += ( "mod_setenv" )  
    24. $HTTP["scheme"] == "https" {  
    25. setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")  
    26. }  
    27.   
    28. # Lighttpd 安全配置  
    29. # 禁用 SSL Compression (抵御 CRIME 攻击)  
    30. ssl.use-compression = "disable"  
    31. # 禁用 SSLv2 及 SSLv3  
    32. ssl.use-sslv2 = "disable"  
    33. ssl.use-sslv3 = "disable"  
    34. # 加密及交换算法  
    35. ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"  

  • admin 2019-5-4
    4

    Typecho启用https访问的实现方法

    登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的。

    编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。

    /** 开启HTTPS */
    define('__TYPECHO_SECURE__',true);

    由于Chrome浏览器对HTTPS要求较高,Firefox已经显示小绿锁,可是Chrome还是有警告提示,F12查看,
    评论表单的action地址还是http,找到站点主题目录下的 comments.php 文件,
    并搜索 $this->commentUrl(),将其替换为:echo str_replace("http","https",$this->commentUrl()); 最后保存。

    Debian修改VPS默认SSH端口

    为什么安全,不建议用默认22端口。
    最好用5位以上端口适宜。

    终端录入 vi /etc/ssh/sshd_config
    找到 Prot 22,然后把22修改成大于10000,小于65536以下的任意五位数字。
    然后输入:wq保存。

    修改完成后,重启下

    /etc/init.d/ssh restart

    如果有防火墙

    /sbin/iptables -I INPUT -p tcp --dport 12345(你修改的端口) -j ACCEPT
    /etc/init.d/iptables save


返回