标签 Web 下的文章

Jetty 是一款纯Java的HTTP (Web) 服务器和Java Servlet容器。 通常在更大的网络框架中,Jetty经常用于设备间的通信,而其他Web服务器通常给“人类”传递文件 :D。Jetty是一个Eclipse基金会的免费开源项目。这个Web服务器用于如Apache ActiveMQ、 Alfresco、 Apache Geronimo、 Apache Maven、 Apache Spark、Google App Engine、 Eclipse、 FUSE、 Twitter的 Streaming API 和 Zimbra中。

这篇文章会介绍‘如何在CentOS服务器中安装Jetty服务器’。

首先我们要用下面的命令安装JDK:

yum -y install java-1.7.0-openjdk wget

JDK安装之后,我们就可以下载最新版本的Jetty了:

wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.2.5.v20141112.tar.gz

解压并移动下载的包到/opt:

tar zxvf jetty-distribution-9.2.5.v20141112.tar.gz -C /opt/

重命名文件夹名为jetty:

mv /opt/jetty-distribution-9.2.5.v20141112/ /opt/jetty

创建一个jetty用户:

useradd -m jetty

改变jetty文件夹的所属用户:

chown -R jetty:jetty /opt/jetty/

为jetty.sh创建一个软链接到 /etc/init.d directory 来创建一个启动脚本文件:

ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty

添加脚本:

chkconfig --add jetty

是jetty在系统启动时启动:

chkconfig --level 345 jetty on

使用你最喜欢的文本编辑器打开 /etc/default/jetty 并修改端口和监听地址:

vi /etc/default/jetty

JETTY_HOME=/opt/jetty
JETTY_USER=jetty
JETTY_PORT=8080
JETTY_HOST=50.116.24.78
JETTY_LOGS=/opt/jetty/logs/

*我们完成了安装,现在可以启动jetty服务了 *

service jetty start

完成了!

现在你可以在 http://<你的 IP 地址>:8080 中访问了

就是这样。

干杯!!


via: http://www.unixmen.com/install-jetty-web-server-centos-7/

作者:Jijo 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

当你要监视一台Linux机器时,你会有很多的选择。虽然现在有很多产品质量监控方案(比如 Nagios、 Zabbix、 Zenoss),它们拥有华丽的UI,可扩展监控,易于理解的报告等等,这些方案对于大多数终端用户都太过于强大了。如果你只需检查Linux服务器或桌面的基本状态(比如,CPU负载、内存使用、活跃进程),就请考虑一下linux-dash

linux-dash是一款面向Linux机器的基于web的轻量级监控面板,可以实时显示不同的系统属性,比如CPU负载、内存使用、磁盘使用、网络速度、网络连接、上下行带宽、登录用户、运行中的进程等等。linux-dash没有后端数据库库来存储长期统计。在任何已有的web服务器(如Apache、Nginx)上运行linux-dash,你就可以用了。这是一个快速又简单的方法来对个人项目进行远程监控。

在这篇教程中,我会描述如何在Linux的Nginx web服务器上设置linux-dash。这里用Nginx,而不是Apache,是因为它更轻量。

在Debian、Ubuntu或者Linux Mint上设置linux-dash

首先,安装带php-fpm的Nginx web服务器。

$ sudo apt-get install git nginx php5-json php5-fpm php5-curl

为linux-dash创建如下Nginx配置文件/etc/nginx/conf.d/linuxdash.conf。 本例中,我们使用8080端口。

$ sudo vi /etc/nginx/conf.d/linuxdash.conf 

server {
    server_name     $domain_name;
    listen          8080;
    root            /var/www;
    index           index.html index.php;
    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;

    location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
            try_files $uri =404;
            expires max;
            access_log off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    location /linux-dash {
        index index.html index.php;
    }

    # PHP-FPM via sockets
    location ~ \.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
            try_files $uri $uri/ /index.php?$args;
            include fastcgi_params;
    }
}

禁止默认站点配置。

$ sudo rm /etc/nginx/sites-enabled/default

编辑/etc/php5/fpm/pool.d/www.conf来配置php-fpm。确保按如下编辑"user", "group" 和 "listen"指令。你可以不改变剩下的配置。

$ sudo vi /etc/php5/fpm/pool.d/www.conf 

user = www-data
group = www-data
listen = /var/run/php5-fpm.sock

开始下载并安装linux-dash。

$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R www-data:www-data /var/www

重启Nginx与php-fpm来完成安装。

$ sudo service php5-fpm restart
$ sudo service nginx restart 

在CentOS、Fedora、RHEL上设置linux-dash

在CentOS上,需要首先启用EPEL仓库

安装Nginx与php-fpm组件。

$ sudo yum install git nginx php-common php-fpm 

为linux-dash程序配置Nginx,如下创建/etc/nginx/conf.d/linuxdash.conf

$ sudo vi /etc/nginx/conf.d/linuxdash.conf 

server {
    server_name     $domain_name;
    listen          8080;
    root            /var/www;
    index           index.html index.php;
    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;

    location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
            try_files $uri =404;
            expires max;
            access_log off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    location /linux-dash {
        index index.html index.php;
    }

    # PHP-FPM via sockets
    location ~ \.php(/|$) {
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
            try_files $uri $uri/ /index.php?$args;
            include fastcgi_params;
    }
}

接下来,编辑/etc/php-fpm.d/www.conf来配置php-fpm。在这个文件中,确保按如下编辑"user", "group" 和 "listen"字段。你可以不改变剩下的配置。

$ sudo vi /etc/php-fpm.d/www.conf 
listen = /var/run/php-fpm.sock
user = nginx
group = nginx

在/var/wwwx下载并安装linux-dash。

$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R nginx:nginx /var/www 

最后,重启Nginx和php-fpm,并设置开机自启。

$ sudo service php-fpm restart
$ sudo service nginx restart
$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on 

在本例中,我们已经配置linux-dash使用TCP端口8080。所以确保防火墙没有阻止TCP 8080端口。

用linux-dash监视Linux机器

要在web浏览器上访问linux-dash,只需在web浏览器中输入http://:8080/linux-dash/

下面是linux-dash的截图。web面板包含了几个小部件,每个都会显示特性的系统参数。你可以通过重安排并且/或者关闭一些小部件来自定义web面板的外观。这里是一个linux-dash创建者的演示站点。

via: http://xmodulo.com/2014/04/monitor-linux-server-desktop-remotely-web-browser.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在我的上一篇文章中讲过如何做一个高可用系统:两个树莓派布署上 GlusterFS 集群文件系统,就变成一个容错文件服务器了。在这篇文章中我们会基于这个高可用系统构建另一个容错服务:建立一个简单的 Web 服务器集群。

可能你没有看过我的上一篇文章,那我就在这里简单回顾一下上次的内容。我有两个树莓派:Pi1 和 Pi2。Pi1 的 IP 地址为 192.168.0.121,Pi2 的 IP 地址为 192.168.0.122。我把它们组合成为 GlusterFS 集群系统,共享一个存储卷,卷名为 gv0。并且这个 gv0 被挂载在两个树莓派上,挂载点都是 /mnt/gluster1,这样一来,两个树莓派能同时访问到这个共享卷。最后我测试了下系统的容错性,将共享卷挂载到第三个物理机上,并执行共享卷上的一个简单的脚本:打印系统时间并输出到 gv0 上的一个文件内,然后轮着关掉两台树莓派,检测这个冗余系统是否还能用。

现在我手上有这个经过检验的存储系统,我要做的是把这个系统做成有容错功能的 Web 服务器集群。树莓派的 CPU 处理速度和内存资源都不是很高,好在对付一个静态 Web 服务器已经是绰绰有余了。我故意把这个例子做得非常简单,因为我觉得如果你能摆平这个简单的例子,你也能处理复杂一点的问题了。

安装 Nginx

虽然我也比较喜欢 Apache,但在资源有限的情况下,像 Nginx 这样功能全、性能高、资源占用少的 Web 服务器是比较理想的选择。在 Raspbian 的默认源中存在 Nginx,所以我只要登入一台树莓派并且输入以下命令:

$ sudo apt-get update
$ sudo apt-get install nginx

Nginx 安装好后,创建配置文件 /mnt/gluster1/cluster ,内容如下:

server {
  root /mnt/gluster1/www;
  index index.html index.htm;
  server_name twopir twopir.example.com;

  location / {
        try_files $uri $uri/ /index.html;
  }
}

注意:我这里把服务器命名为“twopir”,你可以根据自己爱好命名你的网站。另外我把 Web 服务器的根目录设置为 /mng/gluster1/www。这样,我就能把我的静态文件放在这个共享存储系统内,从而让两个树莓派主机都访问到它们。

现在删除默认的 Nginx 配置文件,将上面配好的配置文件作为 Nginx 的配置文件。在 Debian 系统中,Nginx 将它的配置文件像 Apache 一样放在 sites-available 和 site-enabled 两个目录下面。虚拟主机配置文档放在 sites-available 中,而 sites-enabled 目录包含了你想生效的配置文件的软链接。

$ cd /etc/nginx/sites-available
$ sudo ln -s /mnt/gluster1/cluster .
$ cd /etc/nginx/sites-enabled
$ sudo rm default
$ sudo ln -s /etc/nginx/sites-available/cluster .

现在我已经放好了配置文件,但系统还不存在上面所说的 Web 服务器根目录。下一步就是创建目录 /mnt/gluster1/www,并复制 index.html 文件进去。当然你也可以建立自己定义的 index.html 文件,但先复制一个已有的文件是个不错的选择:

$ sudo mkdir /mnt/gluster1/www
$ cp /usr/share/nginx/www/index.html /mnt/gluster1/www

重启 Nginx 服务:

$ sudo /etc/init.d/nginx restart

现在去 DNS 服务器为192.168.0.121的树莓派配置记录。你可以根据自己的情况配置你自己的域名和 IP 地址。现在在浏览器上输入 http://twopir/ 然后出现默认的 Nginx 首页。如果你查看下 /var/log/nginx/access.log 文件,你可以看到点击网页留下的记录。

Nginx 能正常工作后,配置第二个树莓派。因为我们已经将配置文件都放在 GlusterFS 共享目录下,我们现在要做的只是安装 Nginx,创建相关的软链接,重启 Nginx:

$ sudo apt-get update
$ sudo apt-get install nginx
$ cd /etc/nginx/sites-available
$ sudo ln -s /mnt/gluster1/cluster .
$ cd /etc/nginx/sites-enabled
$ sudo rm default
$ sudo ln -s /etc/nginx/sites-available/cluster .
$ sudo /etc/init.d/nginx restart

DNS 服务器上配置两条 A 记录

现在两个主机共享同一份文件,下一步是设置冗余系统的关键步骤。虽然你完全可以设置一个类似心跳的服务用于轮询检测哪个树莓派的 Web 服务是开启的,但这里有个更好的方法:给同一个主机名指定两个 DNS 的 A 记录,分别指向你的两个树莓派(译注:A 记录就是将域名转化为 IP 地址的记录,DNS 包含很多记录方式,如 A 记录、PTR 记录、MX 记录等等),这就是传说中的 DNS 负载均衡,DNS 访问主机时,如果主机名对应多个 IP 地址,DNS 会随机返回这些 IP 地址的顺序:

$ dig twopir.example.com A +short
192.168.0.121
192.168.0.122
$ dig twopir.example.com A +short
192.168.0.122
192.168.0.121

因为返回随机的顺序,用户可以均匀地往两台服务器发送请求,这个负载均衡的机制就是由 DNS 服务器的多条 A 记录来提供。相对于 DNS 的负载均衡技术,我更感兴趣的是 Web 浏览器如何处理请求失败的情况。当浏览器通过网页主机获得两条 A 记录,并且第一条记录所在的主机当机了,浏览器几乎立刻就切到另一条记录上。切换效率快到用户根本察觉不出来,这可比传统的心跳线轮循请求主机快多了。

所以在你正在使用的 DNS 服务器上添加你的树莓派集群的两个 IP 地址,然后试试 dig 命令,就像我在上面使用过的一样,你也应该能得到两个 IP 地址。

当你为同一个域名设置好了两个 A 记录,这套集群就可以提供容错服务了。打开两个终端并分别登录到两个树莓派,运行 tail -f /var/log/ngnix/access.log 命令,你可以监视 Web 服务器的访问情况。当你通过浏览器访问网页时,你可以看到在一台树莓派上产生了访问日志,而在另外一台的日志里什么也没有出现。现在你可以刷新几次页面,当你觉得你对能成功访问到 Web 服务器感到满意了,你可以重启响应你请求的那台树莓派,然后再刷新几次页面。也许浏览器上会出现一个短暂的不可访问信号,但会马上重定向到第二台树莓派上,你会看到一样的页面,并且你能通过终端访问日志了解具体情况。当第一台树莓派启动后,你在浏览器上根本不会察觉到。

(译注:如何处理DNS 轮询的多个IP地址,不同浏览器有不同的做法,目前译者收集到的资料显示,只有mozilla的netlib库支持自动重连下一个IP地址的做法。如果读者知道更多的浏览器对DNS轮询的处理策略,请评论给我们。其实,以译者的态度看,DNS轮询根本就不能算作是高可用性的方案,勉强可以算作是负载均衡方案,建议考虑更可靠的其它方案。)

随机重启一台树莓派,只要有一台在线,Web 服务器就能提供服务。这是一个非常简单的案例,你可以把你其它的静态文件放到 /mnt/gluster1/www 上,为你提供真正有价值的服务,现在好好享受你的低成本容错集群 Web 服务器吧。


via: http://www.linuxjournal.com/content/two-pi-r-2-web-servers

译者:bazz2 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

目前,随着因特网的广泛普及,对文件管理的需求变得更多。对很多人来说,用一个应用程序来有效管理你在网络上的文件是必不可少的。因此,下面列出你会用到的10个最好的开源的基于WEB的文件管理器。

  1. eXtplorer: 这个程序为你提供了移动、复制、编辑、搜索、删除、下载和上传功能。此外,你也能用 eXtplorer 创建和提取档案,文件夹和新文件。它的主要功能是让你通过 FTP 访问文件。你可以选择 Mozilla 公共许可或者 GPL 协议。为了正常使用这个文件管理器,服务器的PHP最低版本要求为 PHP 4.3 并且必须更新JavaScript。
  2. AjaXplorer: 绝大多数浏览器都支持这个文件管理器,并且它能很轻易地自动适应类似于手机一样的小屏幕浏览。目前iOS版的程序已经被开发出来了,安卓版的也将很快完成。要运行 AjaXplorer:,你所需要的是一个支持 PHP5.1 或者更高版本的WEB服务器来。它允许你直接从服务器流式传输视频内容。
  3. KFM: 这个免费和开源文件管理器可以作为 FCKedition、CKeditor、Tiny MCE 之类的富文本编辑器的插件。如果您正在使用一个基于 Linux 的操作系统,那么你需要 PHP 5.2 或更高版本,而 Mac OS X 和 Windows 分别需要 MySQL 4.1 或更高版本和 MySQL 5.0 或更高版本。它有一个自己的搜索引擎,附带了一个文本编辑器,可以高亮显示语法。它还带有 mp3 播放和视频播放选项。
  4. PAFM: 这个文件管理器可以让用户完全控制文件,还允许使用 CodePress 来编辑源代码。文件管理器的主要特色来自 CodePress,它提供了即时的语法高亮显示。
  5. QuiXplorer: 这个文件管理器可用于在互联网和局域网管理和共享文件。它还提供了一种多用户模式,每个用户可以定制自己的设置。
  6. BytesFall Explorer: 这个使用 PHP 和 JavaScript 编写的管理器在 GPL 下发布。它的 UI 非常类似于 Windows 资源管理器,但是它被用在 GeSHi、LiveTree、Shell 命令、FCKeditor 等项目。因为它有一组不同的功能。
  7. NavPHP: 这个文件管理器是使用PHP和AJAX编写的,并且提供了WindowsXP风格的导航。和 QuiXplorer 一样,这个管理器也有一个多用户模式,并有自己的代码编辑器。此外,它还可以使用Deflate和Gzip来压缩传输网页。你也可以使用这个功能来以zip格式下载文件或文件夹。
  8. iDC File Manager: 这是一个多用户系统,可以安装在基于 Linux 或 Windows 的网页服务器上。它提供了热键功能并支持社交网络,还可以监视用户活动。它的数据库是 MySQL。
  9. FileMan: 这个文件管理器带有一个所见即所得编辑器,可以编辑和创建 HTML 文件。除了 HTML 编辑器,它还具有其他很多有用的功能。
  10. Relay: 这个文件管理器使用 GPL 协议发布,并支持 AJAX。如果你使用大量的目录和文件,那么这个管理器对你来说非常理想。

via: http://www.efytimes.com/e1/fullnews.asp?edid=126569

译者:kingname 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。

ntopng是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用Redis键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了。

本教程就来介绍如何使用ntopng在Linux上配置基于Web的网络流量监控系统

ntopng的特性

  • 从数据流级别与协议级别对本地网络流量进行实时分析
  • 支持域、AS(自制系统)与VLAN级别的统计分析
  • 支持IP地址地理定位
  • 支持基于“服务探索”(例如Google、Facebook)的深度报文检测(DPI)
  • 历史流量分析(例如分别按照小时、日、周、月、年进行分析)
  • 支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX
  • 网络流量矩阵(谁正在和谁谈话?)
  • 支持IPv6

在Linux上安装ntopng

官方网页上提供了针对UbuntuCentOS的二进制安装包。如果你使用的恰好是以上二者其一,并且懒得用源码安装,可以直接到官网下载二进制文件包安装,并忽略这一小节下面的内容。

如果你想通过源码安装最新的ntopng,请继续往下看

如果你是Debian、Ubuntu或Linux Mint,执行以下命令:

$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make

上面的几个步骤中,“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库,因此,这里最好确保你的系统能联网。

如果你是Fedora:

$ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel
libxml2-devel redis wget
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make

如果你是CentOS或RHEL,首先设置EPEL repository,然后再执行上面和Fedora一样的命令就可以。

在Linux上配置ntopng

ntopng安装完毕之后,接下来,新建一个ntopng配置目录,然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。

$ sudo mkir /etc/ntopng -p 
$ sudo -e /etc/ntopng/ntopng.start 

修改如下:

--local-networks "192.168.1.0/24"

--interface 1

$ sudo -e /etc/ntopng/ntopng.conf 

修改如下:

-G=/var/run/ntopng.pid

在运行ntopng之前,要确认先启动redis,刚才不说了,redis为ntopng提供键值存储嘛~

在Debian、Ubuntu和Linux Mint上,这样启动:

$ sudo /etc/init.d/redis-server restart 
$ sudo ./ntopng 

在Fedora、CentOS和RHEL上,这样启动:

$ sudo service redis restart 
$ sudo ./ntopng 

ntopng默认监听TCP的3000端口,使用下列命令加以确认。

$ sudo netstat -nap|grep ntopng tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng

基于Web界面的网络流量监控

一旦ntopng成功运行,就可以打开浏览器,访问地址http://:3000

这时,你会看到ntopng的登录界面。使用默认帐密:“admin/admin”。

下面是一些截图。

top流的实时可视化图像

top主机的实时统计,包括top协议和top AS数量

基于DPI的自动程序/服务探索生成的的实时数据报告

历史流量数据分析


via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出