本篇文章介绍的内容是关于如何在Tomcat中创建VirtualHost(虚拟主机),下面我们来看具体的内容。 为什么选择虚拟主机? 虚拟主机允许我们在一台服务器上承载多个域(网站)。它是多个主机帐户之间资源共享的概念。虚拟主机的最佳用途是共享主机服务器,多个用户可以在一台服务器上承载多个网站。 安装细节 我们已经为Tomcat主机服务创建了一个IP为192.168.1.100的Linux服务器。已安装Tomcat 8并配置为在端口80上运行。之后我们使用Tomcat Admin面板在tomcat上部署了两个java Web应用程序。现在两个应用程序都在以下URL上运行 http://192.168.1.100/myapp1 http://192.168.1.100/myapp2 现在我们想在主域名上运行这两个Web应用程序,例如example.com和mydomain.org。这样最终用户就可以使用主域名访问Web应用程序。 在Tomcat中创建虚拟主机 要在Tomcat中创建虚拟主机,首先,找到Tomcat安装目录,然后在收藏夹编辑器中编辑config/server.xml或conf/server.xmlfile。然后为应用程序创建虚拟主机。以下虚拟主机包括: 第一个域名为example.com的应用程序和/ opt / tomcat / webapps / myapp1文档根目录。 第二个应用程序使用域名mydomain.org和/ opt / tomcat / webapps / myapp2文档根目录。 <Host name="example.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>www.example.com</Alias> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="example_access_log" suffix=".txt" pattern="%h %l %u %t %r %s %b" /> <Context path="" docBase="/opt/tomcat/webapps/myapp1" debug="0" reloadable="true"/> </Host> <Host name="mydomain.org" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>www.mydomain.org</Alias> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="mydomain_access_log" suffix=".txt" pattern="%h %l %u %t %r %s %b" /> <Context path="" docBase="/opt/tomcat/webapps/myapp2" debug="0" reloadable="true"/> </Host> 重新启动Tomcat服务 在Tomcat中添加虚拟主机之后,我们需要重新启动Tomcat服务。使用tomcat init 重新启动它,或者如果不必为tomcat初始化service,请从tomcat安装目录执行以下命令。 在Tomcat中添加虚拟主机后,我们需要重启Tomcat服务。使用Tomcat init service重新启动它,或者如果不必为Tomcat执行init service,可以从tomcat安装目录执行以下命令。 # ./bin/shutdown.sh # ./bin/startup.sh 【相关推荐:Linux视频教程】 以上就是如何在Tomcat中创建VirtualHost(虚拟主机)的详细内容,更多请关注php中文网其它相关文章!
所有使用SSL运行的站点都在默认端口443上使用了https协议。SSL通过加密服务器和客户端之间的数据来提供安全的数据通信。 在我们之前的文章中,我们已经介绍了如何在CentOS/RHEL系统中安装LightTPD和创建虚拟主机。本文将继续介绍在LightTPD服务器中配置SSL。对于本篇文章中的示例,我们使用的是自签名证书。 如果要在apache/httpd中查找configure ssl,那么可能需要阅读本篇文章。 步骤1:创建证书签名请求(CSR) 对于创建SSL证书,第一个要求是创建私钥和CSR。CSR是一个文件,其中包含有关域的所有详细信息,包括公钥。首先创建一个目录,在其中创建CSR和密钥。 # mkdir /etc/lighttpd/ssl/ # cd /etc/lighttpd/ssl/ 现在使用以下命令创建CSR和密钥文件。根据域更改文件名example.com.key和example.com.csr。此命令将要求输入有关您的域的信息。了解有关创建CSR的更多信息。 # openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr Generating a 2048 bit RSA private key ....+++ ...............+++ writing new private key to 'example.com.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:IN State or Province Name (full name) []:Delhi Locality Name...
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
2024-12-22
在Apache中强制将HTTP重定向到HTTPS ,许多站点只需要始终使用SSL运行。我们需要确保每个用户都必须通过SSL访问网站。如果任何用户尝试使用非ssl URL访问该网站,则他必须是重定向到SSL网站的。 本篇文章将介绍关于在每次使用apache mod_rewrite模块时将网站重定向到ssl url。 选择1: 在apache配置文件中编辑virtualhost网站并添加以下选项。将www.example.com更改为你的实际域名。 Redirect permanent / https://www.example.com/ 选择2: 在Apache配置文件中编辑VirtualHost网站并添加以下设置。你也可以在网站的文档根目录下的.htaccess文件中添加相同的设置。 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 如果要将特定URL重定向到https。使用以下设置。例如,如果有人试图访问网站上的always-secure.html文件。用户必须使用SSL访问URL。 RewriteEngine On RewriteRule ^always-secure.html$ https://www.example.com/always-secure.html [R=301,L]
SSL对于用户和Web服务器之间的安全通信很有用。证书在公共线路上传输时对数据进行加密,这样它就不会受到黑客的攻击。自签名证书是免费使用的,但不在生产环境中使用,例如使用信用卡、Paypal信息的机密数据。本篇文章将介绍关于在Linux系统上的Apache服务器中创建和安装自签名证书。 步骤1:安装mod_ssl包 要设置SSL证书,请确保在系统上安装了mod_ssl。如果尚未安装,需要使用以下命令进行安装。另外,安装openssl包来创建证书。 $ sudo apt-get install openssl # Debian based systems $ sudo yum install mod_ssl openssl # Redhat / CentOS systems $ sudo dnf install mod_ssl openssl # Fedora 22+ systems 步骤2:创建自签名证书 安装mod_ssl和openssl后,使用以下命令为你的域创建一个自签名证书。 $ sudo mkdir -p /etc/pki/tls/certs $ sudo cd /etc/pki/tls/certs 现在创建SSL证书 $ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout example.com.key -out example.com.crt 输出 Generating a 2048 bit RSA private key ....................................+++ ...................................+++ writing new private key to 'example.com.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For...
宝塔面板是一款不错的控制面板,功能包括一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMP与LAMP 不小心在宝塔面板设置里打开了ssl面板,现在无法打开宝塔面板,显示的是The client sent a plain HTTP request, but this server only speaks HTTPS on this port.有什么办法能解决!? 解决方法: SSH连接装了宝塔面板的服务器,输入以下命令: rm –f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart 刷新即可。 宝塔专业版3188优惠券 :https://www.bt.cn/?invite_code=MV9uYWpuemw=
Linux tail命令显示一个或多个文件或管道数据的最后一部分(默认为10行);可用于实时监控文件更改。下面本篇文章就来就来给大家介绍一下如何使用Linux tail命令,希望对大家有所帮助。 Linux tail命令 tail命令显示一个或多个文件或管道数据的最后一部分(默认为10行);可用于实时监控文件更改。tail命令最常见的用途之一就是监视和分析日志和其他随时间变化的文件,通常与grep等其他工具结合使用。 基本语法: tail [OPTION]... [FILE]... OPTION: tail选项,下面我们来看看最常见的一些选项。 ● -n(–lines)选项:指定要显示的行数 ● -c(–bytes)选项:指定要显示的特定字节数 ● -f(–follow)选项:监视文件的更改 FILE:零个或多个输入文件名。如果未指定FILE,或者FILE为-,则tail将读取标准输入。 如何使用tail命令? 在没有任何选项的情况下使用最简单的形式时,tail命令将显示最后10行。 tail filename.txt 如何显示特定行数? 可以使用-n(–lines)选项来指定要显示的行数: tail -n <NUMBER> filename.txt 也可以省略字母n,只使用连字符(-)和数字(它们之间没有空格)。 要显示名为filename.txt的文件的最后50行,需要使用: tail -n 50 filename.txt 以下示例将显示与上述命令相同的结果: tail -50 filename.txt 如何显示特定的字节数? 可以使用-c(–bytes)选项来显示特定的字节数: tail -c <NUMBER> filename.txt 例如,要显示文件filename.txt中最后500个字节的数据,我们可以使用: tail -c 500 filename.txt 还可以在数字后面使用乘数后缀来指定要显示的字节数。 b乘以512,kB乘以1000,K乘以1024,MB乘以1000000,M乘以1048576,依此类推。 以下命令将显示文件filename.txt的最后两千字节(2048): tail -c 2k filename.txt 如何查看文件以进行更改? 要监视文件的更改,需要使用-f(–follow)选项: tail -f filename.txt -f选项对于监视日志文件特别有用。 例如,要显示/var/log/nginx/error.log文件的最后10行,并监视该文件是否有要使用的更新: tail -f /var/log/nginx/error.log 要在监视文件时中断tail命令,需要按ctrl+c。 要在重新创建文件时继续监视该文件,需要使用-f选项: tail -F filename.txt -f选项在tail命令跟随旋转的日志文件时非常有用。当与-f选项一起使用时,tail命令将在文件再次可用时重新打开。 如何显示多个文件 如果有多个文件作为tail命令的输入提供,它将显示每个文件的最后十行。 tail filename1.txt filename2.txt 用户可以使用与显示单个文件时相同的选项。 例如:显示文件filename1.txt和filename2.txt的最后20行 tail -c 20 filename1.txt filename2.txt 如何和其他命令一起使用? tail命令可以与其他命令结合使用,例如,要监视Apache访问日志文件,并且只显示包含IP地址192.168.42.12的行,可以使用: tail -f /var/log/apache2/access.log | grep 192.168.42.12 或者显示按CPU使用率排序的前十个运行进程: ps aux | sort -nk +3 | tail -5 相关视频教程推荐:《Linux教程》 以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
简介 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用 在此提供 ab 在 centOS7 下的安装和使用方法 ①.ab(apache benchmark)安装 命令: yum -y install httpd-tools ab的使用 模拟并发请求100次,总共请求10000次 命令模板: ab -c 100 -n 10000 待测试网站(建议完整路径) 内容解释: Server Software: nginx/1.10.2 (服务器软件名称及版本信息) Server Hostname: 192.168.1.106(服务器主机名) Server Port: 80 (服务器端口) Document Path: /index1.html. (供测试的URL路径) Document Length: 3721 bytes (供测试的URL返回的文档大小) Concurrency Level: 1000 (并发数) Time taken for tests: 2.327 seconds (压力测试消耗的总时间) Complete requests: 5000 (的总次数) Failed requests: 688 (失败的请求数) Write errors: 0 (网络连接写入错误数) Total transferred: 17402975 bytes (传输的总数据量) HTML transferred: 16275725 bytes (HTML文档的总数据量) Requests per second: 2148.98 [#/sec] (mean) (平均每秒的请求数) 这个是非常重要的参数数值,服务器的吞吐量 Time per request: 465.338 [ms] (mean) (所有并发用户(这里是1000)都请求一次的平均时间) Time request: 0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间) Transfer rate: 7304.41 [Kbytes/sec] received 每秒获取的数据长度 (传输速率,单位:KB/s) ... Percentage of the requests served within a...
如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 测试工具:ab(apacheBench) 硬件环境: Intel xeon cpu E5-2682 v4 2.50GHz 4 core 8GBytes 内存 软件环境: ubuntu16 nginx 静态文件 3Kbytes 26000次响应/秒(平均值) 吞吐量:111Mbytes/秒(平均值) 并发数:300 每次请求响应时间:10.8[ms](平均值) ———————————————— 58Kbytes 20000次响应/秒(平均值) 吞吐量:1165Mbytes/秒(平均值) 并发数:300 每次请求响应时间:14.2[ms](平均值) ——————————————————- beego 动态文件 3Kbytes 16000次响应/秒(平均值) 吞吐量:52Mbytes/秒(平均值) 并发数:330 每次请求响应时间:20.2[ms](平均值) 性能测试结果分析: 从以上结果可以看出,nginx对静态文件的处理性能,不论是是吞吐量、并发量、单位请求处理时间上,都很强大。而且cpu占用只有50%。整个性能表现受到ab单进程的限制,并没有完全发挥。 而beego的动态文件处理,性能也很强大。同样的文件(3Kbytes),nginx作为静态文件处理时,性能是每秒2.6W次响应。到了beego作为动态文件处理,依然可以达到每秒1.6万次响应的性能,性能下降较小。相对于静态文件处理,动态文件处理server需要经过更多流程才能完成输出,所以都会出现性能下降。 beego在处理时,服务器 cpu使用率达到了95%,而之前在笔记本上测试时,i3 cpu使用率也达到了93%,说明beego拥有良好的伸缩性。可以随着硬件(CPU、内存)的加强,发挥出更强的性能。 以上就是介绍beego、nginx性能测试实例的详细内容,更多请关注学派吧其它相关文章!
如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 Linux下查看Nginx等的并发连接数和连接状态。 1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’或者:netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,”t”,state[key]}’返回结果一般如下: LAST_ACK 5 (正在等待处理的请求数) SYN_RECV 30 ESTABLIS 1. 关于Linux下如何查看Nginx的并发连接数和连接状态的详细介绍 简介:Linux下查看Nginx等的并发连接数和连接状态。1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk & 39; 2. php 计划任务 检测用户连接状态 简介:php 计划任务 检测用户连接状态 3. 查看apache并发请求数及其TCP连接状态 简介:这两天搭建了一组Apache服务器,每台服务器4G内存,采用的是prefork模式,一开始设置的连接数太少了,需要较长的时间去响应用户的请求,后来修改了一下Apache 2.0.59的配置文件httpd.conf: 4. php三种连接状态的处理 简介:PHP特点之三种连接状态的处理——normal、aborted、timeout 5. Centos65查看nginx并发连接数和TCP连接状态命令 简介::本篇文章主要介绍了Centos65查看nginx并发连接数和TCP连接状态命令,对于PHP教程有兴趣的同学可以参考一下。 6. linux计划任务 php 计划任务 检测用户连接状态 简介:linux计划任务:linux计划任务 php 计划任务 检测用户连接状态:计划任务 复制代码 代码如下:ignore_user_abort(); // 用户关闭浏览器程序依然执行 set_time_limit(0); // 不限制程序运行时间 $interval = 3; // 程序循环间隔时间秒 $link = mysql_connect(‘localhost’, ‘username’, ‘paswd’); mysql_select_db(‘test’); mysql 【相关问答推荐】: 如何在Linux中定时发送网络请求? php – java如何实现html的实时采集,给个思路。谢了! Java 判断socket的连接状态 PHP & Memcached 连接状态 node.js – node连接mysql 超时的问题 以上就是总结连接状态的详细介绍的详细内容,更多请关注学派吧其它相关文章!
Nginx 服务绑定域名的方法 以 YUM 安装的 Nginx 为例,域名绑定需要编辑 Nginx 的配置文件完成,Nginx 配置文件是 /etc/nginx/nginx.conf,将默认的server {...}配置修改成如下: 修改后的意思是: 1、访问 www.123.com,会跳转到 /home/web1 目录; 2、访问 www.abc.com,会跳转到 /home/web2 目录。 修改之后重启 Nginx 服务即可。 Tomcat 服务绑定域名的方法 域名绑定需要编辑 Tomcat 的配置文件完成,Tomcat 配置文件是 $TOMCAT_HOME/conf/server.xml,$TOMCAT_HOME 是 Tomcat 的安装目录。 将上述内容修改为: 修改后的意思是: 1、访问 www.abc.com,会默认跳转到 /data/wwwroot/default 目录; 2、访问服务器的 IP 地址 120.76.210.250,会默认跳转到 /data/wwwroot/web 目录; 修改之后重启 Tomcat 服务器,即可生效。 Apache 服务绑定域名的方法 例如使用一键安装包配置的 Apache 环境,添加网站配置方法如下: 1、进入站点配置文件目录,命令如下: cd /alidata/server/httpd/conf/vhosts/ 2、创建一个新的配置文件,命令如下: vi aa.conf 3、按键盘上的字母 “i” ,开始编辑文件,将下面的内容复制过去。 Order allow,denyDeny from allDocumentRoot /alidata/www/testServerName www.test.comServerAlias test.comErrorLog “/alidata/log/httpd/test-error.log”CustomLog “/alidata/log/httpd/test.log” 注意:对应的日志名字也需要自己修改一下,可以区分网站的日志信息 4、重启 Apache 测试,命令如下: /alidata/server/httpd/bin/apachectl restart Apache 服务配置实现多域名跳转 例如程序的目录为 /var/www/html 网站目录结构: Apache 核心配置内容: 主要是开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。 实现效果: 使用a.example.com访问时,是访问到/var/www/html/a目录 使用b.example.com访问时,是访问到/var/www/html/b目录 使用c.example.com访问时,是访问到/var/www/html/c目录 Apache 服务配置二级域名 1、拥有一个有泛域名解析的顶级域名,例如: aliyun.com 2、在 httpd.conf 中打开 mod_rewrite 模块 3、在 httpd.conf 的最后,添加以下内容: RewriteEngine onRewriteMap lowercase int:tolowerRewriteMap vhost txt:/usr/local/etc/apache/vhost.mapRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$RewriteCond ${vhost:%1} ^(/.)$RewriteRule ^/(.)$ %1/$1 注意:其中的 /usr/local/etc/apache 是你的 Apache...
Nginx 服务绑定域名的方法 以 YUM 安装的 Nginx 为例,域名绑定需要编辑 Nginx 的配置文件完成,Nginx 配置文件是 /etc/nginx/nginx.conf,将默认的server {...}配置修改成如下: 修改后的意思是: 1、访问 www.123.com,会跳转到 /home/web1 目录; 2、访问 www.abc.com,会跳转到 /home/web2 目录。 修改之后重启 Nginx 服务即可。 Tomcat 服务绑定域名的方法 域名绑定需要编辑 Tomcat 的配置文件完成,Tomcat 配置文件是 $TOMCAT_HOME/conf/server.xml,$TOMCAT_HOME 是 Tomcat 的安装目录。 将上述内容修改为: 修改后的意思是: 1、访问 www.abc.com,会默认跳转到 /data/wwwroot/default 目录; 2、访问服务器的 IP 地址 120.76.210.250,会默认跳转到 /data/wwwroot/web 目录; 修改之后重启 Tomcat 服务器,即可生效。 Apache 服务绑定域名的方法 例如使用一键安装包配置的 Apache 环境,添加网站配置方法如下: 1、进入站点配置文件目录,命令如下: cd /alidata/server/httpd/conf/vhosts/ 2、创建一个新的配置文件,命令如下: vi aa.conf 3、按键盘上的字母 “i” ,开始编辑文件,将下面的内容复制过去。 Order allow,denyDeny from allDocumentRoot /alidata/www/testServerName www.test.comServerAlias test.comErrorLog “/alidata/log/httpd/test-error.log”CustomLog “/alidata/log/httpd/test.log” 注意:对应的日志名字也需要自己修改一下,可以区分网站的日志信息 4、重启 Apache 测试,命令如下: /alidata/server/httpd/bin/apachectl restart Apache 服务配置实现多域名跳转 例如程序的目录为 /var/www/html 网站目录结构: Apache 核心配置内容: 主要是开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。 实现效果: 使用a.example.com访问时,是访问到/var/www/html/a目录 使用b.example.com访问时,是访问到/var/www/html/b目录 使用c.example.com访问时,是访问到/var/www/html/c目录 Apache 服务配置二级域名 1、拥有一个有泛域名解析的顶级域名,例如: aliyun.com 2、在 httpd.conf 中打开 mod_rewrite 模块 3、在 httpd.conf 的最后,添加以下内容: RewriteEngine onRewriteMap lowercase int:tolowerRewriteMap vhost txt:/usr/local/etc/apache/vhost.mapRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$RewriteCond ${vhost:%1} ^(/.)$RewriteRule ^/(.)$ %1/$1 注意:其中的 /usr/local/etc/apache 是你的 Apache...
linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。 /etc/crontab文件包括下面几行: cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=HOME=/ # run-parts 51 * * * * root run-parts /etc/cron.hourly 24 7 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 前 四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行 命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。第六至九行表示的含义将在下个小节详细讲述。这里不在多说。 用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。 使用者权限文件: 文件: /etc/cron.deny 说明: 该文件中所列用户不允许使用crontab命令 文件: /etc/cron.allow 说明: 该文件中所列用户允许使用crontab命令 文件: /var/spool/cron/ 说明: 所有用户crontab文件存放的目录,以用户名命名 crontab文件的含义: 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command 其中: minute: 表示分钟,可以是从0到59之间的任何整数。 hour:表示小时,可以是从0到23之间的任何整数。 day:表示日期,可以是从1到31之间的任何整数。 month:表示月份,可以是从1到12之间的任何整数。 week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。 在以上各个字段中,还可以使用以下特殊字符: 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。 二、crond服务 安装crontab: yum install crontabs 服务操作说明: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service...
学派吧-本篇文章主要介绍了linux利用CSF防火墙屏蔽恶意请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 问题最近不知道为什么,恶意代理的请求数越来越多,明明我返回的都是403Forbidden,但是由于数量实在庞大,还是消耗了我大量的带宽和资源。之前的方法已经没有用了,想了半天还是研究研究防火墙吧,虽然仅仅靠Apache也能对某些IP进行黑名单设置,但是感觉还是有点麻烦的。比如最常见的用iptables,或者是ufw,虽然都能很好的做到管理,但是他们基本都需要一条一条的加,十分麻烦。 网上搜索了下,找到了一个挺方便的小工具–CSF(ConfigServer & Security Firewall),这个工具据说除了能够方便的管理IP blacklist,而且也能稍加配置抵御一定量的DDOS攻击。 安装工具本身可以在csf工具的官网上下载。 下载并解压后可以参考其中的install.txt的说明进行安装,讲的简洁而且详细,注意给权限就行。需要说明的是,这个工具其实也是基于iptables,只是简化了命令而已。 关于ddos的防护 根据readme.txt的描述,进行ddos防护的功能主要是靠/etc/csf/csf.conf中的配置进行控制的,尤其是当中的PORTFLOOD参数,一般都进行如下设置: #Syntax for the PORTFLOOD setting: #PORTFLOOD is a comma separated list of: port;protocol;hit count*;interval seconds #So, a setting of PORTFLOOD = "22;tcp;5;300,80;tcp;20;5" means: #1. If more than 5 connections to tcp port 22 within 300 seconds, then block #that IP address from port 22 for at least 300 seconds after the last packet is #seen, i.e. there must be a "quiet" period of 300 seconds before the block is #lifted #2. If more than 20 connections to tcp port 80 within 5 seconds, then block #that IP address from port 80 for at least 5 seconds after the last packet is #seen, i.e. there must be a "quiet" period...
which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which命令会在环境变量PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 whereis命令 用来定位命令的二进制程序、源代码文件和man手册页等相关文件的路径。 locate/slocate命令 用来查找文件或目录。 type命令 用来显示指定命令的类型,判断给出的命令是内部命令还是外部命令。 getconf命令 Get the configuration value for variable VAR, or for variable PATH_VAR for path PATH. If SPEC is given, give values for compilation environment SPEC. getconf LONG_BIT # 查看当前操作系统的位数 lsb_release命令 LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。 uname命令 用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。 以上就是Linux不常用却很有用的命令的详细内容,更多请关注学派吧其它相关文章!
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML 页面的访问请求。 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/jvm/ 将文件解压至jvm中,然后以root身份修改/etc/profile文件,在最后四行加入: export JAVA_HOME=/opt/jvm/jdk1.8.0_121 export JRE_HOME=${JAVA_HOME}/jre export CLASS PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 保存退出即可。 配置好环境变量后可使用sudo update-alternatives –config java 命令查看已有环境变量。 java -version测试JDK是否安装成功。 下面切入正题,安装配置tomcat。 1、下载tomcat: Core: zip (pgp, md5, sha1) tar.gz (pgp, md5, sha1) 进入tomcat官网点击download,下载zip或tar.gz这两项。 2、解压至/home/文件夹下 3、进入文件夹,加执行权限。命令: :~/apache-tomcat-9.0.0.M21/bin$ sudo chmod +x *.sh 4、 :~/apache-tomcat-9.0.0.M21/bin$ ./startup.sh 启动成功。 查看日志: :~/apache-tomcat-9.0.0.M21/logs$ cat catalina.out 打开浏览器,输入网址:localhost:8080进入主页。 以上就是Linux下安装配置tomcat的详细介绍的详细内容,更多请关注学派吧其它相关文章!
阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的SVN迁移到Linux平台;这边经过测试成功,所以写个随笔记录一下 今天写的是CentOS7上搭建基于Apache,http访问的SVN Server;和IF.svnadmin实现web后台可视化管理SVN iF.SVNAdmin iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持) 2. 软件准备 安装相关软件包 安装过程如下:1.安装apache [root@localhost ~]# yum install httpd -y2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块) [root@localhost ~]# yum install mod_dav_svn subversion -y3.安装完成后可以通过如下命令查看是否安装成功 [root@localhost ~]# httpd -version[root@localhost ~]# svnserve --version [root@localhost ~]# ls /etc/httpd/modules/ | grep svnmod_authz_svn.so mod_dav_svn.so 3.在apache下配置svn [root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /var/www/svn #svn的根目录SSLRequireSSL #SSL访问权限 AuthType Basic #Basic认证方式 AuthName "Authorization SVN" #认证时显示的信息 AuthUserFile /var/www/svn/passwd #用户文件&密码 AuthzSVNAccessFile /var/www/svn/authz #访问权限控制文件 Require valid-user #要求真实用户,不能匿名 </Location> 3. 建立SVN Server仓库 通过如下命令建立svn仓库 其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库 [root@localhost ~]# mkdir /var/www/svn [root@localhost ~]# svnadmin create /var/www/svn/sungeek [root@localhost ~]# ls /var/www/svn/sungeek ---> conf db format hooks locks README.txt [root@localhost ~]# chown -R apache.apache /var/www/svn 创建用户文件passwd和权限控制文件authz...
这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !! 原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。 所以,当你修改提高了配置文件中的worker_connections值,然后重启nginx,你就会在日志里发现,最前面我们讲到的这一个warn警告提示,大概的意思就是: 20000并发连接已经超过了打开文件的资源限制:1024!在这种情况下,我们就要修改配置文件,添加一行来解除这个限制,这就好像是apache中的ServerLimit。 打开配置文件在"event"这行上面添加这一行: worker_rlimit_nofile xxxxx; ####Specifies the value for maximum file descriptors that can be opened by this process. 注意:设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值,不然又会有前面的那个warn提示。 保存配置文件,退出重启nginx。 如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式: 最大连接数 = worker_processes * worker_connections/4 查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。 【相关推荐】 1. Linux免费视频教程 2. 布尔教育Linux优化视频教程 3. linux中使用yum安装Nginx的实例详解 4. 教你如何在Linux中安装Nginx服务器 5. 详细介绍Linux的wget命令 以上就是详解介绍Nginx中worker connections问题的详细内容,更多请关注学派吧其它相关文章!
SaltStack简介 SaltStack是基于Python开发的一套C/S架构配置管理工具(功能不仅仅是配置管理,如使用salt-cloud配置AWS EC2实例),它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。 号称世界上最快的消息队列ZeroMQ使得SaltStack能快速在成千上万台机器上进行各种操作,而且采用RSA Key方式确认身份,传输采用AES加密,这使得它的安全性得到了保障。 SaltStack经常被描述为Func加强版+Puppet精简版。 为什么选择SaltStack? 目前市场上主流的开源自动化配置管理工具有puppet、chef、ansible、saltstack等等。到底选择那个比较好?可以从以下几方面考虑: 语言的选择(puppet/chef vs ansible/saltstack) Puppet、Chef基于Ruby开发,ansible、saltstack基于python开发的 运维开发语言热衷于python(后期可做二次开发),排除Puppet、Chef 速度的选择 (ansible vs saltstack) ansible基于ssh协议传输数据,SaltStack使用消息队列zeroMQ传输数据。从网上数据来看,SaltStack比ansible快大约40倍。 对比ansible,Saltstack缺点是需要安装客户端。为了速度建议选择SaltStack SaltStack github地址:https://github.com/saltstack/salt SaltStack官网文档地址:https://docs.saltstack.com SaltStack架构 在SaltsStack架构中服务端叫作Master,客户端叫作Minion,都是以守护进程的模式运行,一直监听配置文件中定义的ret_port(saltstack客户端与服务端通信的端口,负责接收客户端发送过来的结果,默认4506端口)和publish_port(saltstack的消息发布系统,默认4505端口)的端口。当Minion运行时会自动连接到配置文件中定义的Master地址ret_port端口进行连接认证。 Master:控制中心,salt命令运行和资源状态管理 Minion : 需要管理的客户端机器,会主动去连接Mater端,并从Master端得到资源状态 信息,同步资源管理信息 States:配置管理的指令集 Modules:在命令行中和配置文件中使用的指令模块,可以在命令行中运行 Grains:minion端的变量,静态的 Pillar:minion端的变量,动态的比较私密的变量,可以通过配置文件实现同步minions定义 highstate:为minion端下发永久添加状态,从sls配置文件读取.即同步状态配置 salt_schedule:会自动保持客户端配置 SaltStack安装配置 默认以CentOS6为例,采用yum安装,还有其它安装方式,如pip、源码、salt-bootstrap EPEL源配置 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-6.noarch.rpm 安装、配置管理端(master) yum -y install salt-master service salt-master start 注:需要iptables开启master端4505、4506端口 安装被管理端(minion) yum -y install salt-minion sed -i ‘s@#master:.*@master: master_ipaddress@’ /etc/salt/minion #master_ipaddress为管理端IP echo 10.252.137.141 > /etc/salt/minion_id #个人习惯使用IP,默认主机名 service salt-minion start Master与Minion认证 minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和 minion.pub(public key),然后将 minion.pub发送给master。master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的 public key,然后master就能对minion发送指令了。 认证命令如下: [root@10.252.137.14 ~]# salt-key -L #查看当前证书签证情况 Accepted Keys: Unaccepted Keys: 10.252.137.141 Rejected Keys: [root@10.252.137.14 ~]# salt-key -A -y #同意签证所有没有接受的签证情况 The following keys are going to be accepted: Unaccepted Keys: 10.252.137.141 Key for minion 10.252.137.141 accepted. [root@10.252.137.14 ~]# salt-key -L Accepted Keys: 10.252.137.141 Unaccepted Keys: Rejected Keys: SaltStack远程执行 [root@10.252.137.14 ~]# salt ‘*’ test.ping 10.252.137.141: True [root@10.252.137.14 ~]# salt ‘*’ cmd.run ‘ls -al’ 10.252.137.141: total 40 drwx—— 4 root root 4096 Sep 7 15:01 . drwxr-xr-x 22 root root 4096 Sep 3 22:10 .. -rw——- 1 root root 501 Sep 7 14:49 .bash_history -rw-r–r– 1 root root 3106 Feb 20 2014 .bashrc drwx—— 2 root root 4096 Jan 30 2015 .cache drwxr-xr-x 2 root root 4096 Apr 22 13:57 .pip -rw-r–r– 1 root root 140 Feb 20 2014 .profile -rw-r–r– 1 root root 64 Apr 22 13:57 .pydistutils.cfg -rw——- 1 root root 4256 Sep 7 15:01 .viminfo salt执行命令的格式如下: salt ‘<target>’ <function> [arguments] target:执行salt命令的目标,可以使用正则表达式 function:方法,由module提供 arguments:function的参数 target可以是以下内容: 1. 正则表达式 salt -E ‘Minion*’ test.ping #主机名以Minion开通 2. 列表匹配 salt -L Minion,Minion1 test.ping 3. Grians匹配 salt -G ‘os:CentOS’ test.ping os:CentOS(默认存在)是Grains的键值对,数据以yaml保存在minion上,可在minion端直接编辑/etc/salt/grains,yaml格式。或者在master端执行salt ‘*’ grains.setval key “{‘sub-key’: ‘val’, ‘sub-key2’: ‘val2’}” ,具体文档(命令salt * sys.doc grains查看文档) 4. 组匹配...