所有使用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...
Lighttpd是一种适合在生产环境中运行的高性能Web服务器。它是高度优化,安全且非常灵活的Web服务器;与其他Web服务器相比,LightTPD使用的内存和CPU非常低。其事件驱动架构针对大量并行连接进行了优化(保持活跃状态) Lighttpd为一些流行的Web 2.0站点提供了支持。它提供了高速IO基础设施,使它们能够在相同的硬件上扩展好几倍。这是在考虑未来网络的情况下开发的,如:更快的FastCGI、COMET符合mod_mailbox、异步IO。 可以按照以下步骤在基于RHEL的系统上安装Lighttpd。 步骤1:添加EPEL存储库 EPEL yum存储库拥有最新的Lighttpd包,首先在你的系统中添加EPEL yum存储库。 # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 步骤2:安装LightTPD服务器 使用yum包管理器安装lighttpd # yum install lighttpd lighttpd-fastcgi Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirror.nbrc.ac.in * epel: mirrors.ispros.com.bd * extras: mirror.nbrc.ac.in * updates: mirror.nhanhoa.com Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package lighttpd.i686 0:1.4.35-1.el6 will be installed ---> Package lighttpd-fastcgi.i686 0:1.4.35-1.el6 will be installed --> Processing Dependency: spawn-fcgi for package: lighttpd-fastcgi-1.4.35-1.el6.i686 --> Running transaction check ---> Package spawn-fcgi.i686 0:1.6.3-1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved =================================================================================================== Package Arch Version Repository Size =================================================================================================== Installing: lighttpd i686 1.4.35-1.el6 epel 300 k lighttpd-fastcgi i686 1.4.35-1.el6 epel 45 k Installing for dependencies: spawn-fcgi i686 1.6.3-1.el6 epel 16 k Transaction...
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
2025-01-05
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...
在Linux系统中我们可以通过rm-rf命令来删除文件,-r表示的是向下递归不管有多少级一并删除,-f表示直接强行删除并且不作任何提示。 在linux系统中删除目录很简单,我们可以使用rmdir命令来删除,但是当目录为非空时就会遇到麻烦。现在我们可以直接使用rm -rf命令来删除即可 【推荐课程:Linux教程】 语法: rm -rf 目录名字 参数详解: -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 例:删除文件 rm -f /var/log/httpd/access.log 这个命令表示的是会强制删除/var/log/httpd/access.log这个文件 例:删除文件夹 rm -rf /var/log/httpd/access 表示的是将会删除/var/log/httpd/access目录以及其下所有文件、文件夹 rm命令使用注意: 使用这个rm -rf的时候一定要格外小心,linux系统中是没有回收站的。所以在删除之后就很难找回了 总结:以上就是本篇文章的全部内容了,希望对大家有所帮助
cPanel / WHM是一个基于Web的控制面板,用于管理完整的Linux操作系统。所有cPanel帐户都是使用一个主域创建的。本篇文章将介绍更改cPanel用户主域的文档。 必须具有root shell访问权限才能更改cPanel中的主/主域文档根目录,请使用以下步骤在cPanel帐户中更改主域的文档根目录。 (推荐:Linux视频教程) 优先权:必须具有对cpanel服务器的根用户的ssh访问权。 步骤1:登录到CPanel服务器 使用ssh以根帐户的形式获取服务器的shell访问,使用您最喜欢的ssh客户机。使用Putty连接了服务器。现在编辑以下文件。 # vim /var/cpanel/userdata/USERNAME/DOMAINNAME.COM 步骤2:更新documentoot 编辑文件后,根据需要搜索文本文档根并更改路径。 documentroot: /home/USERNAME/public_html/NEW_PATH 步骤3:重建并重新启动Apache 在进行更改之后,我们需要重建Apache配置文件并重新启动Apache服务器。使用以下命令执行此操作。 # /scripts/rebuildhttpdconf # service httpd restart 完成了。 本篇文章到这里就已经全部结束了,
linux查看进程的命令有:ps命令用于查看静态的进程统计信息,top命令用于查看进程动态信息,pgrep命令用于根据条件查询进程PID信息,pstree命令用于查看进程树信息 程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。接下来将在文章中具体介绍Linux中如何查看进程命令 【推荐课程:Linux教程】 查看进程 使用不同的命令工具可以从不同的角度查看进程状态。 常用的进程查看命令 (1)ps命令 用于查看静态的进程统计信息 常见的选项有如下几个: a:显示当前终端下的所有进程信息,包括其他用户的进程。 u:使用以用户为主的格式输出进程信息。 x:显示当前用户在所有终端下的进程。 -e:显示系统内的所有进程信息。 -l:使用长(long)格式显示进程信息。 -f:使用完整的(full)格式显示进程信息。 需要注意的是,有一部分选项是不带“-”前缀的(添加“-”前缀后含义可能会有出入)。习惯上将上述选项组合在一起使用,如,“ps aux”或“ps -elf” 例:ps aux 将以简单列表的形式显示出进程信息。如下图 上图中的输出信息中,第1行为列表标题,其中各字段的含义描述如下: USER:启动该进程的用户账号名称 PID:该进程的ID号,在当前系统中是唯一的 TTY:该进程在哪个终端上运行。“?”表未知或不需要终端 STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。 START:启动该进程的时间 TIME:该进程占用CPU时间 COMMAND:启动该进程的命令的名称 %CPU:CPU占用的百分比 %MEM:内存占用的百分比 VSZ:占用虚拟内存(swap空间)的大小 RSS:占用常驻内存(物理内存)的大小 (2)top命令 用于查看进程动态信息 以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。 上图中输出信息开头部分相关信息的含义如下: Tasks(系统任务)信息:total,总进程数;running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。 CPU信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。了解空闲的CPU百分比,主要看%id部分。 Mem(内存)信息:total,总内存空间;used,已用内存;free,空闲内存;buffers,缓存区域。 Swap(交换空间)信息:total,总交换空间;used,已用交换空间;free,空闲交换空间;cached,缓存空间。 在top命令的全屏操作界面中,按P键根据CPU占用情况对进程列表进行排序,或按M键根据内存占用情况排序,按N键根据启动时间进行排序,按h键可以获得top程序的在线帮助信息,按q键可以正常地退出top程序。 若通过top排名工具发现某个进程CPU占用率非常高,需要终止该进程的运行时,可以在top操作界面按k键,然后在列表上方将会出现“PID to kill”的提示信息,根据提示输入指定进程的PID号并按enter键确认即可终止对应的进程。 (3)pgrep命令 用于根据特定条件查询进程PID信息 (4)pstree命令 用于查看进程树,以树形结构列出进程信息 总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。
如果您有服务器咨询问题、购买问题、可以联系我们客服 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...
阅读目录 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...
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. 组匹配...
这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux、Nginx/Tengine/OpenResty、MySQL/MariaDB/Percona、PHP),适用于CentOS 6~7(包括redhat)、Debian 6~8、Ubuntu 12~16的32位和64位。 脚本特性 持续不断更新 源码编译安装,大多数源码是最新stable版,并从官方网址下载 提供多个数据库版本(MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.6, Percona-5.5, AliSQL-5.6, PostgreSQL, MongoDB) 提供多个PHP版本(PHP-7.1, PHP-7.0,PHP-5.6, PHP-5.5,PHP-5.4,PHP-5.3) 提供Nginx、Tengine、OpenResty 提供多个Apache版本(Apache-2.4,Apache-2.2) 根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader、swoole、xdebug、Composer 根据自己需求安装Pureftpd、phpMyAdmin 根据自己需求安装memcached、redis jemalloc优化MySQL、Nginx 提供添加、删除虚拟主机脚本 提供Nginx/Tengine/OpenResty/Apache、MySQL/MariaDB/Percona、PHP、Redis、phpMyAdmin升级脚本 提供本地、远程(服务器之间rsync)、阿里云OSS、腾讯云COS和upyun备份 提供CentOS 6、7下HHVM安装 安装步骤 yum -y install wget screen curl python#for CentOS/Redhat #apt-get -y install wget screen curl python# for Debian/Ubuntu wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云经典网络内网下载 wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源码,国内外均可下载 wget http://mirrors.linuxeye.com/lnmp.tar.gz # 不包含源码,建议仅国外主机下载 tar xzf lnmp-full.tar.gz #tar xzf lnmp.tar.gz cd lnmp # 如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件 screen -S lnmp # 如果网路出现中断,可以执行命令`screen -R lnmp`重新连接安装窗口 ./install.sh # 请勿sh install.sh或者bash install.sh这样执行 如何添加虚拟主机? ./vhost.sh 如何删除虚拟主机? ./vhost.sh del 如何管理ftp账号? ./pureftpd_vhost.sh 数据备份 cd ~/lnmp # 必须进入lnmp目录下执行 ./backup_setup.sh # 备份参数设置 ./backup.sh # 立即执行备份 crontab -e # 可添加到计划任务,如每天凌晨1点自动备份 0 1 * * * cd ~/lnmp;./backup.sh > /dev/null 2>&1 & 备份参数设置如下图: 如何管理服务? Nginx/Tengine/OpenResty: service nginx {start|stop|status|restart|reload|configtest} MySQL/MariaDB/Percona: service mysqld {start|stop|restart|reload|status} PHP: service php-fpm {start|stop|restart|reload|status} Apache: service httpd {start|restart|stop} HHVM: service supervisord {start|stop|status|restart|reload} 注:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程》 Pure-Ftpd: service pureftpd {start|stop|restart|status} Redis: service redis-server {start|stop|status|restart|reload} Memcached: service memcached {start|stop|status|restart|reload} 如何更新版本? ./upgrade.sh 跨大版本升级(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/ 如何卸载? ./uninstall.sh 如何重装? ./uninstall.sh # 请先备份数据好数据后再卸载,丢失数据概不负责 ./install.sh # 再次安装 更新日志 2018-03-18 新增阿里云COS、腾讯云COS备份;启用acme.sh支持通配符,禁用certbot;常规软件版本更新 2017-12-17 新增PostgreSQL、MongoDB、PHP7.2;Apache升级功能; 新增xdebug扩展;新增oneinstack更新;优化vhost.sh 2017-08-13 iptables可选; 新增pathinfo 2017-07-01 支持Debian9;PHP编译使用openssl1.0.2版本 2017-06-02 增加MariaDB 10.2 2017-05-15 增加腾讯云COS v4备份功能 2017-02-14 Nginx添加更多模块参数;新增Nginx magento2伪静态;Apache2.4 ssl默认开启http2 2016-11-02 增加AliSQL;默认启用jemalloc,去除tcmalloc 2016-10-15 数据库支持二进制或源码编译;PHP7支持ioncube、apcu;优化脚本格式 2016-08-21 增加./addons.sh...
近期网络出现了很多关于如何设置WordPress固定链接的问题,也有部分人设置好了却出现404等问题,这里小编给大家一并解决。 提示:以下设置均在WordPress程序后台 – 设置 – 固定链接设置中。 WordPress固定链接设置的参数: %year% 文章发表的年份,四位数,如 2004%monthnum% 月份,如 05%day% 天,如 28%hour% 小时,如 15%minute% 分钟,如 43%second% 秒,如 33%postname% 文章标题的别名%post_id% 文章的唯一ID,如 423%category% 分类的别名%tag% 标签的别名%author% 作者的别名 以上是WordPress提供的可以作为自定义的参数,结合字符串,我们通常建议大家自定义设置的几种案例。 常见的WordPress固定链接自定义设置: 如:网址/120.html,简洁,带html结尾的伪静态,需要服务器URL_Rewrite支持。 /%post_id%.html 如:网址/themebetter-is-ok,语义化文章别名的伪静态,需要服务器URL_Rewrite支持。 /%postname% 如:网址/2016/03/120.html,文章年、月、ID的组合,伪静态,需要服务器URL_Rewrite支持。 /%year%/%monthnum%/%post_id%.html 不少人也会选择默认的固定链接, 如:网址/?p=120,看上去也是很简洁,这种类型的好处就是不需要服务器的额外支持,直接使用参数的形式访问,虽然看上去不怎么美观,但实际效果是杠杆的。 WordPress固定链接自定义时出现404: 自定义好的固定链接访问后出现404,多是服务器没有开启URL_Rewrite的支持,所以先去服务器设置或者找你的主机商寻求帮助。 Apache环境下开启url_rewrite: 开启apache的url_rewrite模块,也就是在httpd.conf中去掉这句话的注释LoadModule rewrite_module modules/mod_rewrite.so 找到AllowOverride,把AllowOverride None修改成AllowOverride all 在所需要进行rewrite的web的主目录下添加.htaccess文件,添加上一句话:RewriteEngine on Nginx环境下开启url_rewrite: nginx只需要打开nginx.conf配置文件,在server里面写需要的规则,然后重启即可。 具体的重写规则参考:http://codex.wordpress.org/Nginx WordPress固定链接小提示: 固定链接最好是在建站时就定好; 如果后期变更固定链接一定要做好301跳转,可以搜索选择Redirection插件来解决; 固定链接本身并不能达到很科学的SEO效果,各种方式并无区别; 不要纠结固定链接是个什么样子。 至此,WordPress固定链接设置上的问题都被解决了。
lamp架构wordpress和discuzx教程 背景 虚拟主机 fastcgi 部署流程 部署架构 环境 架构图 编译软件 安装开发环境和必要的包 编译httpd 编译php 安装mariadb 配置文件修改 修改httpd主机 修改fast-cgi主机 配置mysql 宿主机的hosts文件修改 安装wordpress和Discuzx 背景 虚拟主机 如今服务器的配置提升明显,单一主机上部署单一网站会对主机造成大量的性能损失,因此web服务虚拟主机的技术应运而生。所谓虚拟主机指的是在一台机器上运行多个网站(如company1.example.com和company2.example.com)的做法 。虚拟主机可以是“ 基于IP的 ”,这意味着每个网站都有不同的IP地址,或者“ 基于名称 ”,这意味着每个IP地址上都有多个名称,或者“基于端口”,这意味着在同一ip的不同端口上提供不同的网站,通过这些方法使得他们在同一台物理服务器上运行的事实对最终用户来说并不明显。 Apache是第一批支持基于IP的虚拟主机的服务器之一。Apache的版本1.1及更高版本支持基于IP和基于名称的虚拟主机(虚拟主机)。虚拟主机的后一种变型有时也被称为基于主机的或非IP虚拟主机。 fastcgi FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。 部署流程 部署架构 环境 3台主机用于分别部署httpd,php和mysql,实现分离 软件版本 架构图 编译软件 这里我们需要编译的软件为httpd和php,mysql可以考虑使用二进制包或者直接官方yum安装 安装开发环境和必要的包 1.安装centos开发工具包 yum groupinstall "development tools" -y 2.安装编译httpd和php需要的包 #部分包需要epel源 #yum install epel-release -y yum install pcre-devel openssl-devel expat-devel libxml2-devel bzip2-devel libmcrypt-devel -y 编译httpd 这里在192.168.99.130机器上编译httpd2.4 1.创建apache用户 useradd -r apache -s /sbin/nologin 2.解压httpd,apr,apr-util源码包,这里需要的包均可在httpd官网下到 tar xvf httpd-2.4.33.tar.bz2 tar xvf apr-1.6.2.tar.gz tar xvf apr-util-1.6.1.tar.gz 3.编译httpd #移动解压的apr和apr-util到指定的httpd源码目录可以省去分别编译3个程序 mv apr-1.6.2 httpd-2.4.33/srclib/apr mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util #编译参数,具体含义可以参考./configure的帮助文档或者官方文档 ./configure \ --prefix=/app/httpd24 \ --enable-so \ --enable-ssl \ --enable-cgi \ --enable-rewrite \ --with-zlib \ --with-pcre \ --with-included-apr \...
有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一、防盗链 二、隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端。 实验步骤: 一、防盗链 1.把httpd、apr、apr-util安装包解压缩到/opt目录中 tar zxvf apr-1.4.6.tar.gz -C /opt/ tar zxvf apr-util-1.4.1.tar.gz -C /opt/ tar zxvf httpd-2.4.2.tar.gz -C /opt/ 2.切换到opt目录中,把解压的文件夹递归复制到apr文件夹中 3.用yum仓库安装gcc 、gcc-c++ 、pcre 、pcre-devel、zlib-devel工具包 4.进行配置文件的配置 5.转换为二进制文件且进行安装 6.开启httpd功能且建立软连 7.在httpd的主配置文件/etc/httpd.conf 下修改监听本地主机的IP和主机名域名 8.开启httpd服务关闭防火墙和增强性安全功能 service httpd start service iptables stop Setenforce 0 9.切换到/usr/local/httpd/htdocs/目录下编辑首页 文件 10.把/opt目录下的图片(game.jpg、error.png)复制到当前目录下 11.打开windows7-2盗链客户端,创建文件添加首页文件和图片且更改为扩展文件,放置于C盘inetpub wwwroot目录中。 12.构建DNS解析服务,安装bind包,编辑主配置文件/etc/named.conf修改监听地址。 13.编辑区域配置文件/etc/named.rfc1912.zones 添加域名和区域数据模块 14.复制区域数据模板到benet.com.zone进行编辑 15.启动named服务 16.在站点目录/usr/local/httpd/conf/编辑vim httpd.conf文件中开启重写模块且引用防盗链规则 17.重启httpd服务,打开Windows7-1客户机就行验证 Service httpd restart 二、隐藏版本信息 1.打开抓包工具进行测试 2.到/etc/httpd.conf中开启default.conf 3.切换到/usr/local/httpd/conf/extra/目录中,编辑httpd-default.conf文件把serverToken Full改为serverToken prod。 4.重启httpd服务,进行验证。 service httpd restart
有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一个2014年初上线的项目,要升级https,记录一下。 一共有三台WEB服务器,进入 apache/modules 查看是否有 mod_ssl.so。 两台服务器正常,一台缺失,于是需要动态编译。 官网下载httpd2.4.6(这里需要./httpd -v 查看一下当前版本号),解压缩,进入源码 /modules/ssl/ 目录 cd /usr/local/src/httpd-2.4.6/modules/ssl/ 然后执行下面的动态编译命令 当前apahce的路径/bin/apxs -i -c -a -D HAVE_OPENSSL=1 -I /usr/include/openssl -lcrypto -lssl -ldl *.c 此处遇到了第一个坑:报错 /usr/bin/ld: cannot find -lcrypto 搜素一番后,是 /usr/lib64/libssl.so 和 /usr/lib64/libcrypto.so 没有建立软连接。但是搜索出来的解决方案的路径不对,于是参考另外两台服务器 ln -s /lib64/libssl.so.0.9.8e /usr/lib64/libssl.so ln -s /lib64/libcrypto.so.0.9.8e /usr/lib64/libcrypto.so 使用上面方式建立软链接。 然后再次编译,提示成功了。 但是在httpd restart的时候碰到了第二个坑。 再次报错:mod_ssl.so: undefined symbol: SSL_get_srp_userinfo 搜索一番了解到是 openssl 版本太高。 这才想起来,之前我更新过一次openssl,现在的版本不是 0.9.8e了。 于是 找到现在的openssl对应lib目录 /usr/local/ssl/lib/libcrypto.so.1.0.0 删除现有的链接,重新链接为新的。 rm -rf /usr/lib64/libssl.so rm -rf usr/lib64/libcrypto.so ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64/libssl.so ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so 于是重新编译apahce,再次重启能够成功了。 在配置https配置文件的过程中,记得要监听443端口并且设置好防火墙规则。 Listen 0.0.0.0:443 Listen [::]:443 其他的配置文件就按照网上的参考就行了。 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群