技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

Ubuntu–apache2: bad user name ${APACHE_RUN_USER}

在Ubuntu下sudo apt-get install apache2安装完Apache2以后,启动apache2的默认用户名是www-data, 属于www-data用户组在shell中按如下输入#apache2会出现错误提示:apache2: bad user name ${APACHE_RUN_USER}解决办法:1. 打开apache2的配置文件#sudo gedit /etc/apache2/apache2.conf(本来应该改envvars这个文件的,但是不知道为什么修改了不起作用)2. 修改默认的用户名和组找到 ${APACHE_RUN_USER} 和 ${APACHE_RUN_GROUP}替换为自己的用户名和组,然后保存退出。3.重启apache2#apache2 -k graceful注意,要让自己的用户对/var/www这个目录有写权限,否则你的脚本可能会出问题的。当然,可以打开/etc/apache2/sites-enabled/000-default修改网站文件的根目录。... 全文

Ubuntu apache2 休闲 职场

Apache安装apr和apr

安装Apache的时候,为什么要安装apr和apr-util呢  要测APR给tomcat带来的好处最好的方法是在慢速网络上(模 拟Internet),将Tomcat线程数开到300以上的水平,然后模 拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会 用满,以后的请求就只好等待。但是配上APR之后,并发的线 程数量明显下降,从原来的300可能会马上下降到只有几十, 新的请求会毫无阻塞的进来。 APR对于Tomcat最大的作用就是socket调度。  你在局域网环境测,就算是400个并发,也是一瞬间就处理/传 输完毕,但是在真实的Internet环境下,页面处理时间只占 ... 全文

Apache安装apr和apr-util作用 休闲 Apache性能优化 tomcat性能优化 职场

Apache,tomcat,nginx,apache+tomcat,nginx+tomcat自动化安装脚本

Apache,tomcat,nginx,apache+tomcat,nginx+tomcat自动化安装脚本 #!/bin/bash#Auto Install Apache Tomcat Nginx apache+tomcat nginx+tomcat.... 全文

fallenleaves shell脚本 tomcat nginx apache

Apache中如何设置网站默认首页?

环境:1)WIN2003(X86)阿里云ECS2)apache2.2(启用vhosts.conf)步骤:1)打开apache\conf\extra\httpd-vhosts.conf2)在 VirturalHost标签对中输入DirectoryIndex index.php //index.php即为网站默认首页... 全文

apache 设置网站默认首页 apache设置 虚拟目录设置网站默认首页 默认首页

Linux+apache+mysql+python+mod_python+Django

Linux+apache+mysql+python+mod_python+Django说明:系统rhel 5.3,默认安装httpd、mysql,没有安装的,请下载安装RPM包,删除/etc/httpd/modules/mod_python.so,如果有的话。一、安装python... 全文

python mod_python Django apache+python linux python在apache配置

Apache无法启动 Cannot load /usr/local/apache2/modules/libphp5.so into server

Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied php安装好以后 apache2 无法启动 最后一步重新启动apache报如下错误原因是Linux有一个SELinux保护模式引起的。... 全文

Permission denied libphp5.so Apache 休闲 职场

apache源码编译安装时报错:configure: error: ...No recognized SSL/TLS toolkit detected

apache源码编译安装时报错:configure: error: ...No recognized SSL/TLS toolkit detected 1.[root@mail httpd-2.2.11]# ./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite="shared" --enable-ssl --enable-module="all" --enable-mods-shared="most"2.make时报错no SSL-C headers foundconfigure: error: ...No recognized SSL/TLS toolkit detected3.解决方法:yum install openssl-devel本文出自 “tonylinux” 博客,请务必保留此出处http://tonylinux.blog.51cto.com/2268300/817362... 全文

configure apache apache报错 源码编译安装 No recognized SSL

apache

apache:查看apache模式 :httpd -l  apachel -l apache二种模式:prefork和worker  在configure可以使用./configure-with-mpm=worker指定需要的模式prefork:默认模式,他采用的预派子进程的方式,他使用单独的子进程来处理不同的请求。其最重要参数maxclients,它表示apache可同时处理的请求个数,默认为150,如果要增大,必须配合serverlimit指令,先指定一个系统可接受同时处理的请求值,再修改maxclients值. worker:是2.0版中全新支持多线程和多进程混合模型的mpm,它也使用多进程,但每个进程又生成多线程,这是apache2.0的发展方向。worker的工作原理是,由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients设置了所有子进程中的线程总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。可以使用threadlimit指令来指定可生成的线程数。本文出自 “夫臣” 博客,谢绝转载!... 全文

apache

apache服务器

apache软件包:    httpd-2.2.15-26.el6.x86_64.rpm配置文件:     /etc/http/conf/httpd.conf         /etc/http/conf.d/*.conf服务数据目录:    /var/www/html端口:80 443切换进程和线程模式vim /etc/sysconfig/httpd    HTTPD=/usr/sbin/httpd.worker发布目录    cp -r /boot /var/www/html测试:    elinks 192.168.1.254    elinks --dump 192.168.1.254    elinks 192.168.1.254/boot基于用户家目录发布网页1.useradd robin  useradd zorro2.vim /etc/httpd/conf/httpd.conf    <IfModule mod_userdir.c>        #UserDir disabled        UserDir public_html    </IfModule>3.创建    mkdir /home/zobin/public_html    mkdir /home/zorro/public_htmlecho "robin's home" >> /home/robin/public_html/index.htmlecho "zorro's home" >> /home/rorro/public_html/index.html4.该权限    chmod 777 /home/robin/    chmod 777 /home/zorro/5.service httpd restart测试elinks 192.168.1.254/~robinelinks 192.168.1.254/~zorro虚拟主机(任何目录都可以放,关键字大小写没关系)基于域名1.    mkdir /var/www/baidu/    mkdir /var/www/google/2.vim /etc/httpd/conf/httpd.conf    NameVirtualHost *:80    <VirtualHost *:80>            documentroot /var/www/baidu            servername www.baidu.com    </VirtualHost>3.创建页面echo "baidu" >> /var/www/baidu/index.htmlecho "google" >> /var/www/google/index.html4.设置解析 /etc/hosts (基于本机测试,)192.168.1.254   www.baidu.com192.168.1.254   www.google.com5.启动服务service httpd restart作业ftp上传数据http发布上传网页防火墙关闭[root@robin html]# rm -rf /etc/sysconfig/iptables[root@robin html]# service iptables restartiptables:清除防火墙规则:                                 [确定]iptables:将链设置为政策 ACCEPT:mangle nat filter         [确定]iptables:正在卸载模块:                                   [确定][root@robin html]# iptables -LChain INPUT (policy ACCEPT)target     prot opt source               destination         Chain FORWARD (policy ACCEPT)target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)target     prot opt source               destination         SElinux关闭vim /etc/selinux/configSELINUX=disabled本文出自 “linux” 博客,请务必保留此出处http://hanxiong.blog.51cto.com/6306542/1355407... 全文

Apache

Apache配置详解

Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 Listen 80 #服务器监听的端口号。 ServerName www.clusting.com:80 #主站点名称(网站的主机名)。 ServerAdmin admin@clusting.com #管理员的邮件地址。 DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。 以下是对主站点的目录进行访问控制: <Directory "/mnt/web/clusting"> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 在上面这段目录属性配置中,主要有下面的选项: Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: ExecCGI: 在该目录下允许执行CGI脚本。 FollowSymLinks: 在该目录下允许文件系统使用符号连接。 Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 其它可用值和含义请参阅:http://www.clusting.com/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定): None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。 All: 在.htaccess文件中可以使用所有的指令。 其他的可用值及含义(如:Options FileInfo AuthConfig Limit等),请参看: http://www.clusting.com/Apache/ApacheManual/mod/core.html#AllowOverride Order:控制在访问时Allow和Deny两个访问规则哪个优先: Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。 Deny:拒绝访问的主机列表。 更详细的用法可参看:http://www.clusting.com/Apache/ApacheManual/mod/mod_access.html#order DirectoryIndex index.html index.htm index.php #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php) (2) 服务器的优化 (MPM: Multi-Processing Modules) apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式: prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置: <IfModule prefork.c> StartServers 5 #启动apache时启动的httpd进程个数。 MinSpareServers 5 #服务器保持的最小空闲进程数。 MaxSpareServers 10 #服务器保持的最大空闲进程数。 MaxClients 150 #最大并发连接数。 MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 </IfModule> 在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。 worker:如果httpd -l列出worker.c,则需要对下面的段进行配置: <IfModule worker.c> StartServers 2 #启动apache时启动的httpd进程个数。 MaxClients 150 #最大并发连接数。 MinSpareThreads 25 #服务器保持的最小空闲线程数。 MaxSpareThreads 75 #服务器保持的最大空闲线程数。 ThreadsPerChild 25 #每个子进程的产生的线程数。 MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 </IfModule> 该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。 perchild:如果httpd -l列出perchild.c,则需要对下面的段进行配置: <IfModule perchild.c> NumServers 5 #服务器启动时启动的子进程数 StartThreads 5 #每个子进程启动时启动的线程数 MinSpareThreads 5 #内存中的最小空闲线程数 MaxSpareThreads 10 #最大空闲线程数 MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。0不受限制。 MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。0表示不受限制。 </IfModule> 该模式下,子进程的数量是固定的,线程数不受限制。当客户端连接到服务器时,又空闲的线程提供服务。 如果空闲线程数不够,子进程自动产生线程来为新的连接服务。该模式用于多站点服务器。 (3) HTTP返头回信息配置: ServerTokens Prod #该参数设置http头部返回的apache版本信息,可用的值和含义如下: Prod:仅软件名称,例如:apache Major:包括主版本号,例如:apache/2 Minor:包括次版本号,例如:apache/2.0 Min:仅apache的完整版本号,例如:apache/2.0.54 OS:包括操作系统类型,例如:apache/2.0.54(Unix) Full:包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g ServerSignature Off #在页面产生错误时是否出现服务器版本信息。推荐设置为Off (4) 持久性连接设置 KeepAlive On #开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态。 MaxKeepAliveRequests 100 #一个连接服务的最多请求次数。 KeepAliveTimeout 30 #持续连接多长时间,该连接没有再请求数据,则断开该连接。缺省为15秒。 别名设置 对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。别名的设置如下: Alias /download/ "/var/www/download/" #访问时可以输入:http://www.custing.com/download/ <Directory "/var/www/download"> #对该目录进行访问控制设置 Options Indexes MultiViews AllowOverride AuthConfig Order allow,deny Allow from all </Directory> CGI设置 ScriptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 访问时可以:http://www.clusting.com/cgi-bin/ 。但是该目录下的CGI脚本文件要加可执行权限! <Directory "/usr/local/apache2/cgi-bin"> #设置目录属性 AllowOverride None Options None Order allow,deny Allow from all </Directory> 个人主页的设置 (public_html) UserDir public_html (间用户的主页存储在用户主目录下的public_html目录下 URL http://www.clusting.com/~bearzhang/file.html 将读取 /home/bearzhang/public_html/file.html 文件) chmod 755 /home/bearzhang #使其它用户能够读取该文件。 UserDir /var/html (the URL http://www.clusting.com/~bearzhang/file.html 将读取 /var/html/bearzhang/file.html) UserDir /var/www/*/docs (the URL http://www.clusting.com/~bearzhang/file.html 将读取 /var/www/bearzhang/docs/file.html) 日志的设置 (1)错误日志的设置 ErrorLog logs/error_log #日志的保存位置 LogLevel warn #日志的级别 显示的格式日下: [Mon Oct 10 15:54:29 2005] [error] [client 192.168.10.22] access to /download/ failed, reason: user admin not allowed access (2)访问日志设置 日志的缺省格式有如下几种: LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined LogFormat "%h %l %u %t "%r" %>s %b" common #common为日志格式名称 LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access_log common 格式中的各个参数如下: %h --客户端的ip地址或主机名 %l --The 这是由客户端 identd 判断的RFC 1413身份,输出中的符号 "-" 表示此处信息无效。 %u --由HTTP认证系统得到的访问该网页的客户名。有认证时才有效,输出中的符号 "-" 表示此处信息无效。 %t --服务器完成对请求的处理时的时间。 "%r" --引号中是客户发出的包含了许多有用信息的请求内容。 %>s --这个是服务器返回给客户端的状态码。 %b --最后这项是返回给客户端的不包括响应头的字节数。 "%{Referer}i" --此项指明了该请求是从被哪个网页提交过来的。 "%{User-Agent}i" --此项是客户浏览器提供的浏览器识别信息。 下面是一段访问日志的实例: 192.168.10.22 - bearzhang [10/Oct/2005:16:53:06 +0800] "GET /download/ HTTP/1.1" 200 1228 192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/blank.gif HTTP/1.1" 304 - 192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/back.gif HTTP/1.1" 304 - 各参数的详细解释,请参阅:http://www.clusting.com/Apache/ApacheManual/logs.html 用户认证的配置 (1)in the httpd.conf: AccessFileName .htaccess ......... Alias /download/ "/var/www/download/" <Directory "/var/www/download"> Options Indexes AllowOverride AuthConfig </Directory> (2) create a password file: /usr/local/apache2/bin/htpasswd -c /var/httpuser/passwords bearzhang (3)onfigure the server to request a password and tell the server which users are allowed access. vi /var/www/download/.htaccess: AuthType Basic AuthName "Restricted Files" AuthUserFile /var/httpuser/passwords Require user bearzhang #Require valid-user #all valid user 虚拟主机的配置 (1)基于IP地址的虚拟主机配置 Listen 80 <VirtualHost 172.20.30.40> DocumentRoot /www/example1 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /www/example2 ServerName www.example2.org </VirtualHost> (2) 基于IP和多端口的虚拟主机配置 Listen 172.20.30.40:80 Listen 172.20.30.40:8080 Listen 172.20.30.50:80 Listen 172.20.30.50:8080 <VirtualHost 172.20.30.40:80> DocumentRoot /www/example1-80 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.40:8080> DocumentRoot /www/example1-8080 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.50:80> DocumentRoot /www/example2-80 ServerName www.example1.org </VirtualHost> <VirtualHost 172.20.30.50:8080> DocumentRoot /www/example2-8080 ServerName www.example2.org </VirtualHost> (3)单个IP地址的服务器上基于域名的虚拟主机配置: # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/example1 ServerName www.example1.com ServerAlias example1.com. *.example1.com # Other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot /www/example2 ServerName www.example2.org # Other directives here </VirtualHost> (4)在多个IP地址的服务器上配置基于域名的虚拟主机: Listen 80 # This is the "main" server running on 172.20.30.40 ServerName server.domain.com DocumentRoot /www/mainserver # This is the other address NameVirtualHost 172.20.30.50 <VirtualHost 172.20.30.50> DocumentRoot /www/example1 ServerName www.example1.com # Other directives here ... </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /www/example2 ServerName www.example2.org # Other directives here ... </VirtualHost> (5)在不同的端口上运行不同的站点(基于多端口的服务器上配置基于域名的虚拟主机): Listen 80 Listen 8080 NameVirtualHost 172.20.30.40:80 NameVirtualHost 172.20.30.40:8080 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example1.com DocumentRoot /www/domain-8080 </VirtualHost> <VirtualHost 172.20.30.40:80> ServerName www.example2.org DocumentRoot /www/otherdomain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example2.org DocumentRoot /www/otherdomain-8080 </VirtualHost> (6)基于域名和基于IP的混合虚拟主机的配置: Listen 80 NameVirtualHost 172.20.30.40 <VirtualHost 172.20.30.40> DocumentRoot /www/example1 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot /www/example2 ServerName www.example2.org </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot /www/example3 ServerName www.example3.net </VirtualHost> SSL加密的配置 首先在配置之前先来了解一些基本概念: 证书的概念:首先要有一个根证书,然后用根证书来签发服务器证书和客户证书,一般理解:服务器证书和客户证书是平级关系。SSL必须安装服务器证书来认证。 因此:在此环境中,至少必须有三个证书:根证书,服务器证书,客户端证书。 在生成证书之前,一般会有一个私钥,同时用私钥生成证书请求,再利用证书服务器的根证来签发证书。 SSL所使用的证书可以自己生成,也可以通过一个商业性CA(如Verisign 或 Thawte)签署证书。 签发证书的问题:如果使用的是商业证书,具体的签署方法请查看相关销售商的说明;如果是知己签发的证书,可以使用openssl自带的CA.sh脚本工具。 如果不为单独的客户端签发证书,客户端证书可以不用生成,客户端与服务器端使用相同的证书。 (1) conf/ssl.conf 配置文件中的主要参数配置如下: Listen 443 SSLPassPhraseDialog buildin #SSLPassPhraseDialog exec:/path/to/program SSLSessionCache dbm:/usr/local/apache2/logs/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:/usr/local/apache2/logs/ssl_mutex <VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "/usr/local/apache2/htdocs" ServerName www.example.com:443 ServerAdmin you@example.com ErrorLog /usr/local/apache2/logs/error_log TransferLog /usr/local/apache2/logs/access_log SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key CustomLog /usr/local/apache2/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" </VirtualHost> (2) 创建和使用自签署的证书: a.Create a RSA private key for your Apache server /usr/local/openssl/bin/openssl genrsa -des3 -out /usr/local/apache2/conf/ssl.key/server.key 1024 b. Create a Certificate Signing Request (CSR) /usr/local/openssl/bin/openssl req -new -key /usr/local/apache2/conf/ssl.key/server.key -out /usr/local/apache2/conf/ssl.key/server.csr c. Create a self-signed CA Certificate (X509 structure) with the RSA key of the CA /usr/local/openssl/bin/openssl req -x509 -days 365 -key /usr/local/apache2/conf/ssl.key/server.key -in /usr/local/apache2/conf/ssl.key/server.csr -out /usr/local/apache2/conf/ssl.crt/server.crt /usr/local/openssl/bin/openssl genrsa 1024 -out server.key /usr/local/openssl/bin/openssl req -new -key server.key -out server.csr /usr/local/openssl/bin/openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt (3) 创建自己的CA(认证证书),并使用该CA来签署服务器的证书。 mkdir /CA cd /CA cp openssl-0.9.7g/apps/CA.sh /CA ./CA.sh -newca openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.csr newreq.pem ./CA.sh -sign cp newcert.pem /usr/local/apache2/conf/ssl.crt/server.crt cp server.key /usr/local/apache2/conf/ssl.key/ ... 全文

apache

linux安装apache

1、下载所需软件包   根据官网所示,安装apache2.4.9必须先安装apr、apr-util、pcre包... 全文

apache

源码安装Apache

[root@Oracle ~]# yum -y install gcc gcc++ zlib zlib-devel... 全文

Apache

apache 代理

apache 代理将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。  在apache的httpd.conf文件里,取消下面四行的注释:  LoadModule proxy_module modules/mod_proxy.so  LoadModule proxy_connect_module modules/mod_proxy_connect.so  LoadModule proxy_http_module modules/mod_proxy_http.so  LoadModule proxy_ftp_module modules/mod_proxy_ftp.so   然后apache的httpd-vhosts.conf文件修改,建立一个虚拟主机,将该域名的所有访问转向81端口。  <VirtualHost *:80>  ServerName iloves.vicp.net  ProxyPass / http://localhost:81/  ProxyPassReverse / http://localhost:81/  </VirtualHost>   这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了  ... 全文

apache 代理

Apache 安装

1.编译方法1./configure --prefix=/usr/local/apache \ --with-mpm=prefork \ --enable-so --enable-modules="all" \ --enable-mods-shared="all" make && make cp support/apachectl /etc/init.d/httpd chmod +x /etc/init.d/httpd2.编译方法2./configure --prefix=/usr/local/apache \ --enable-so \ --enable-rewrite \ --with-mpm=worker make && make install3.查看Apache 静态模块... 全文

安装 apache

Apache支持ASP

  由于Apache服务器没有内建ASP的功能,因此我们需要自行找到适用的ASP模块,通过查找相关资料,获知目前有三个套件可提供此功能:1、Chili soft ASP:现已经被sun收购,并入了SunONE ASP中;能较完美支持microsoft ,ASP3.0VBScript/JScript 5.5, ADO, 和 ODBC;包括了ODBC 数据库驱动 for Oracle, Sybase, DB2, Informix, MySQL, Microsoft SQL Server, Microsoft Access, dBASE, 以及 PostgreSQL;最新版为Sun One Active Server Pages 4.0.1,售价495美元;SUN网站上提供试用版的下载(全功能,30天限制);相关网址:http://globalspecials.sun.com/dr/v2/Ec_Main.entry24?SP=10023&PN=1&V1=631635&xid=50285&search_id=17553837&doc_id=1&DSP=&CUR=840&PGRP=0&CACHE_ID=02、Instant ASP;Stryon 公司发布的独立于应用平台的Instant ASP (iASP), 它是一个轻便的动态服务器构架,用JAVA语言写成,因此需要JDK1.X以上的支持;能让开发者将Active Server Pages(ASP) 配置在任何一个支持Java的Web服务器或应用程序服务器之上;(但实际测试结果并不如意)相关网址:http://www.stryon.com.cn3、Apache::ASP:Chamas Enterprises 公司提供的支持ASP的解决方案;是在perl的基础上对ASP的扩展,与microsoft 的ASP API兼容非常有限;本方案以Instant ASP试用版为例,因为chili soft ASP对系统要求较高(sun网站上推荐512M以上内存),虽然作为商业软件,Instant ASP的价格较高(Intel X86平台95,其它平台更高),但在重写所有WEB代码的代价更为昂贵的情况下,也不失为一个好的解决方案。本文分两部分分别讲解在linux和windows平台下实现apache支持asp的解决步骤。LINUX平台:Red hat Enterprise AS3 update 3,最小安装;所需软件:Apache1.3.27;下载地址:[url]www.apache.org[/url];j2sdk-1_4_2_04-linux-i586-rpm.bin;下载地址:[url]https://jsecom15d.sun.com/ECom/EComActionServlet[/url];jsessionid=B8D92FE6D1F87964DFEA17E973BC7B1D,33.6MInstant ASP;下载地址:http://www.stryon.com.cn/chooseproduct.asp一、安装编译程序gcc;二、编译安装apache,因为要用到模块,所以需要加入模块选项:./configure –prefix=/usr/local/apache –enable-module=so;makemake install 安装完成;三、安装JDK:直接运行二进制包:./j2sdk-1_4_2_04-linux-i586-rpm.bin,浏览过license后键入yes同意该协议,会自动解压得到rpm包j2sdk-1_4_2_04-linux-i586-rpm;安装 rpm –ivh j2sdk-1_4_2_04-linux-i586-rpm;系统自动安装到/usr/java/j2sdk1.4.2_04目录下;四、安装Instant ASP:1、tar –xvzf iASP2.1.01.tar.gz./install.sh欢迎画面过后提示输入JDK路径,输入/usr/java/j2sdk1.4.2_04/bin;提示输入IASP的安装路径,输入:/usr/local/iasp;如果该目录不存在会提示创建该目录,回答:Y;之后会问是否现在配置WEB服务器,回答 Y;2、选择代理服务器,这里是指Instant ASP和Apache通信的代理服务器,输入1选择 instant asp native servlet support3、选择WEB服务器;输入2选择Apache;4、选择服务器版本,输入11选择1.3.2X5、输入Apache配置文件路径,输入/usr/local/apache/conf6、输入代理服务器地址,可以默认127.0.0.1,也可以指定Apache绑定的地址;7、输入代理服务器端口,Instant ASP与Apache 交互的端口,默认为9098,可以不做修改;8、输入WEB管理端口,可默认9095;五、安装完成。打开httpd.conf 可以发现Instant ASP在末尾增加了如下几行:# iASP Setting LoadModule iasp_module "/usr/local/iasp/iasp21/bin/apache/linux/1.3.20/mod_iasp.so" Alias /iasp "/usr/local/iasp/iasp21" IaspConfig server "/usr/local/iasp/iasp21/properties/server.properties" IaspConfig rules "/usr/local/iasp/iasp21/properties/rules.properties" 六、测试:vi一个文件test.asp,内容: 保存到apache的网页目录。启动apache和IASP:/usr/local/apache/bin/apachectl start/usr/local/iasp/iasp21/start-server.sh在浏览器输入该网址,回车,看到“success!” ,Instant ASP安装成功!Instant ASP 还支持通过网页管理,启动:/usr/local/iasp/iasp21/start-admin.sh在支持JAVA的浏览器里输入http://IP:9095,即可方便的通过WEB进行管理。Windows 平台:Windows server 2003所需软件:Apache 1.3.28: 下载地址:[url]www.apache.org[/url];j2sdk-1_4_2_06-windows-i586-p.exe, 下载地址:[url]https://jsecom15d.sun.com/ECom/EComActionServlet[/url];jsessionid=B8D92FE6D1F87964DFEA17E973BC7B1D,51.59 MBInstant ASP;下载地址:http://www.stryon.com.cn/chooseproduct.asp一、安装Apache1.3.28;过程比较简单,省略;二、安装Instant ASP:双击iASP2.1.01.exe,开始安装。按照提示做即可。我的安装路径为:d:iasp安装完毕后,提示是否现在配置iasp。选择:是。 三、配置: 第一步:代理服务(proxy)选择:instant asp native servlet support 第二步:WEB SERVER选择:apache。第三步:选择apache的配置文件:httpd.conf的位置。本方案是:d:apacheconfhttpd.conf 版本选择1.3.2X(1.3.27的Windows版本官方网站上已经不提供下载了,故采用1.3.28版本)。 proxy:如果您有固定ip,可以使用默认的127.0.0.1。port: 这是apache与iasp之间的代理接口。使用默认(9098)即可。 server manager port:远程管理端口,选择默认(9095)即可。 第四步:配置完成。 说明: iasp在apache的配置文件httpd.conf最后加入了以下语句: # iASP Setting LoadModule iasp_module "d:/iasp/bin/apache/win32/1.3.20/iasp.dll" Alias /iasp " d:/iasp " IaspConfig server " d:/iasp /properties/server.properties" IaspConfig rules " d:/iasp /properties/rules.properties" 五、通过更改httpd.conf更改apache的默认首页: DirectoryIndex index.htm index.asp index.php default.htm default.asp default.php更改完毕后,保存,重启apache 六、执行:开始->程序->Instant ASP 2.1.01->Install iASP as NT Service 这样,iasp就被加到了win2000 server的服务中。 执行:开始->程序->Instant ASP 2.1.01->Start Instant ASP 弹出一个DOS窗口,不要关闭,让它在后台运行,这是Instant ASP就已经配置成功了!七、测试:新建1.asp,内容:,保存到apache的网页目录。在浏览器输入该网址,回车,看到“success!” ,Instant ASP安装成功!注:1、 安装时要注意版本的匹配,免费版的IASP宣称支持Apache 2.X,但安装后启动Apache不成功,Linux下友好一点,提示需要高版本的IASP;本人就是在经过了三次Windows平台下重装Apache和IASP,Linux下二次重新编译Apache的煎熬才找到问题所在;2、 要知道在这种环境下跑ASP是很痛苦的事情,JAVA运行速度慢是人所共知的;还存在对ASP兼容不好的风险,本人下载的BBSXP可能版本高了点,在IIS下能很好的运行但到了这下面连首页都出不来!3、 个人建议还是采用SunONE ASP,首先是大公司的东东,首先服务就有保障,再则实力雄厚,和MS关系也8错,兼容性应该做的比较好,而且如果使用SUN JAVA WEB SERVER,本软件还免费哟!由于Apache服务器没有内建ASP的功能,因此我们需要自行找到适用的ASP模块,通过查找相关资料,获知目前有三个套件可提供此功能:1、Chili soft ASP:现已经被sun收购,并入了SunONE ASP中;能较完美支持microsoft ,ASP3.0VBScript/JScript 5.5, ADO, 和 ODBC;包括了ODBC 数据库驱动 for Oracle, Sybase, DB2, Informix, MySQL, Microsoft SQL Server, Microsoft Access, dBASE, 以及 PostgreSQL;最新版为Sun One Active Server Pages 4.0.1,售价495美元;SUN网站上提供试用版的下载(全功能,30天限制);相关网址:http://globalspecials.sun.com/dr/v2/Ec_Main.entry24?SP=10023&PN=1&V1=631635&xid=50285&search_id=17553837&doc_id=1&DSP=&CUR=840&PGRP=0&CACHE_ID=02、Instant ASP;Stryon 公司发布的独立于应用平台的Instant ASP (iASP), 它是一个轻便的动态服务器构架,用JAVA语言写成,因此需要JDK1.X以上的支持;能让开发者将Active Server Pages(ASP) 配置在任何一个支持Java的Web服务器或应用程序服务器之上;(但实际测试结果并不如意)相关网址:http://www.stryon.com.cn3、Apache::ASP:Chamas Enterprises 公司提供的支持ASP的解决方案;是在perl的基础上对ASP的扩展,与microsoft 的ASP API兼容非常有限;本方案以Instant ASP试用版为例,因为chili soft ASP对系统要求较高(sun网站上推荐512M以上内存),虽然作为商业软件,Instant ASP的价格较高(Intel X86平台95,其它平台更高),但在重写所有WEB代码的代价更为昂贵的情况下,也不失为一个好的解决方案。本文分两部分分别讲解在linux和windows平台下实现apache支持asp的解决步骤。LINUX平台:Red hat Enterprise AS3 update 3,最小安装;所需软件:Apache1.3.27;下载地址:[url]www.apache.org[/url];j2sdk-1_4_2_04-linux-i586-rpm.bin;下载地址:[url]https://jsecom15d.sun.com/ECom/EComActionServlet[/url];jsessionid=B8D92FE6D1F87964DFEA17E973BC7B1D,33.6MInstant ASP;下载地址:http://www.stryon.com.cn/chooseproduct.asp一、安装编译程序gcc;二、编译安装apache,因为要用到模块,所以需要加入模块选项:./configure –prefix=/usr/local/apache –enable-module=so;makemake install 安装完成;三、安装JDK:直接运行二进制包:./j2sdk-1_4_2_04-linux-i586-rpm.bin,浏览过license后键入yes同意该协议,会自动解压得到rpm包j2sdk-1_4_2_04-linux-i586-rpm;安装 rpm –ivh j2sdk-1_4_2_04-linux-i586-rpm;系统自动安装到/usr/java/j2sdk1.4.2_04目录下;四、安装Instant ASP:1、tar –xvzf iASP2.1.01.tar.gz./install.sh欢迎画面过后提示输入JDK路径,输入/usr/java/j2sdk1.4.2_04/bin;提示输入IASP的安装路径,输入:/usr/local/iasp;如果该目录不存在会提示创建该目录,回答:Y;之后会问是否现在配置WEB服务器,回答 Y;2、选择代理服务器,这里是指Instant ASP和Apache通信的代理服务器,输入1选择 instant asp native servlet support3、选择WEB服务器;输入2选择Apache;4、选择服务器版本,输入11选择1.3.2X5、输入Apache配置文件路径,输入/usr/local/apache/conf6、输入代理服务器地址,可以默认127.0.0.1,也可以指定Apache绑定的地址;7、输入代理服务器端口,Instant ASP与Apache 交互的端口,默认为9098,可以不做修改;8、输入WEB管理端口,可默认9095;五、安装完成。打开httpd.conf 可以发现Instant ASP在末尾增加了如下几行:# iASP Setting LoadModule iasp_module "/usr/local/iasp/iasp21/bin/apache/linux/1.3.20/mod_iasp.so" Alias /iasp "/usr/local/iasp/iasp21" IaspConfig server "/usr/local/iasp/iasp21/properties/server.properties" IaspConfig rules "/usr/local/iasp/iasp21/properties/rules.properties" 六、测试:vi一个文件test.asp,内容: 保存到apache的网页目录。启动apache和IASP:/usr/local/apache/bin/apachectl start/usr/local/iasp/iasp21/start-server.sh在浏览器输入该网址,回车,看到“success!” ,Instant ASP安装成功!Instant ASP 还支持通过网页管理,启动:/usr/local/iasp/iasp21/start-admin.sh在支持JAVA的浏览器里输入http://IP:9095,即可方便的通过WEB进行管理。Windows 平台:Windows server 2003所需软件:Apache 1.3.28: 下载地址:[url]www.apache.org[/url];j2sdk-1_4_2_06-windows-i586-p.exe, 下载地址:[url]https://jsecom15d.sun.com/ECom/EComActionServlet[/url];jsessionid=B8D92FE6D1F87964DFEA17E973BC7B1D,51.59 MBInstant ASP;下载地址:http://www.stryon.com.cn/chooseproduct.asp一、安装Apache1.3.28;过程比较简单,省略;二、安装Instant ASP:双击iASP2.1.01.exe,开始安装。按照提示做即可。我的安装路径为:d:iasp安装完毕后,提示是否现在配置iasp。选择:是。 三、配置: 第一步:代理服务(proxy)选择:instant asp native servlet support 第二步:WEB SERVER选择:apache。第三步:选择apache的配置文件:httpd.conf的位置。本方案是:d:apacheconfhttpd.conf 版本选择1.3.2X(1.3.27的Windows版本官方网站上已经不提供下载了,故采用1.3.28版本)。 proxy:如果您有固定ip,可以使用默认的127.0.0.1。port: 这是apache与iasp之间的代理接口。使用默认(9098)即可。 server manager port:远程管理端口,选择默认(9095)即可。 第四步:配置完成。 说明: iasp在apache的配置文件httpd.conf最后加入了以下语句: # iASP Setting LoadModule iasp_module "d:/iasp/bin/apache/win32/1.3.20/iasp.dll" Alias /iasp " d:/iasp " IaspConfig server " d:/iasp /properties/server.properties" IaspConfig rules " d:/iasp /properties/rules.properties" 五、通过更改httpd.conf更改apache的默认首页: DirectoryIndex index.htm index.asp index.php default.htm default.asp default.php更改完毕后,保存,重启apache 六、执行:开始->程序->Instant ASP 2.1.01->Install iASP as NT Service 这样,iasp就被加到了win2000 server的服务中。 执行:开始->程序->Instant ASP 2.1.01->Start Instant ASP 弹出一个DOS窗口,不要关闭,让它在后台运行,这是Instant ASP就已经配置成功了!七、测试:新建1.asp,内容:,保存到apache的网页目录。在浏览器输入该网址,回车,看到“success!” ,Instant ASP安装成功!注:1、 安装时要注意版本的匹配,免费版的IASP宣称支持Apache 2.X,但安装后启动Apache不成功,Linux下友好一点,提示需要高版本的IASP;本人就是在经过了三次Windows平台下重装Apache和IASP,Linux下二次重新编译Apache的煎熬才找到问题所在;2、 要知道在这种环境下跑ASP是很痛苦的事情,JAVA运行速度慢是人所共知的;还存在对ASP兼容不好的风险,本人下载的BBSXP可能版本高了点,在IIS下能很好的运行但到了这下面连首页都出不来!3、 个人建议还是采用SunONE ASP,首先是大公司的东东,首先服务就有保障,再则实力雄厚,和MS关系也8错,兼容性应该做的比较好,而且如果使用SUN JAVA WEB SERVER,本软件还免费哟!本文出自 “学习要永恒” 博客,请务必保留此出处http://hzcsky.blog.51cto.com/1560073/1163866... 全文

Apache asp

利用apache common

下载apache common-net包到classpath中import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.Charset; import org.apache.commons.net.telnet.EchoOptionHandler; import org.apache.commons.net.telnet.SuppressGAOptionHandler; import org.apache.commons.net.telnet.TelnetClient; import org.apache.commons.net.telnet.TelnetNotificationHandler; import org.apache.commons.net.telnet.TerminalTypeOptionHandler; import org.apache.log4j.Logger; /** * * * @description telnet操作工具类,非线程安装,请在一个线程中操作 * @author weichaofan * @date 2013年10月19日 */ public class TelnetUtil implements Runnable, TelnetNotificationHandler { Logger logger = Logger.getLogger(getClass()); private TelnetClient tc = null; private String remoteip; private int remoteport; private StringBuffer responseStr= new StringBuffer(); public TelnetUtil (String ip){ this(ip, 23,null); } public TelnetUtil (String ip,int port){ this(ip, port,null); } public TelnetUtil (String ip,String spyFile){ this(ip, 23,spyFile); } /** * 最终构造方法 * @param ip * @param port * @param spyFile */ public TelnetUtil (String ip,int port,String spyFile){ remoteip= ip; remoteport=port; initClient(spyFile); } private void initClient(String spyFile) { tc = new TelnetClient(); TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler( "VT220", false, false, true, false); EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false); SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true); try { tc.addOptionHandler(ttopt); tc.addOptionHandler(echoopt); tc.addOptionHandler(gaopt); if(null != spyFile && !"".equals(spyFile)){ FileOutputStream fout = null; try { fout = new FileOutputStream("spy.log", true); tc.registerSpyStream(fout); } catch (IOException e) { logger.error("Exception while opening the spy file: " + e.getMessage()); } } } catch (Exception e) { logger.error(e); } } public String connect(long waitTime) throws Exception { try { tc.connect(remoteip, remoteport); Thread reader = new Thread(this); tc.registerNotifHandler(this); reader.start(); return getResponse( waitTime); } catch (Exception e) { throw new Exception("telnet 连接失败", e); } } public void disConnect() { try { if(tc != null&& tc.isConnected()) tc.disconnect(); } catch (Exception e) { // e.printStackTrace(); logger.error("Exception when close connecting:" + e.getMessage()); } } /** * 发送命令,返回结果请调用 getResponse(long waitTime) * @param command * @throws Exception */ public void sendCommand(String command) throws Exception { try { responseStr.delete(0, responseStr.capacity()); OutputStream outstr = tc.getOutputStream(); outstr.write(command.getBytes()); outstr.write(13); outstr.write(10); outstr.flush(); } catch (Exception e) { throw new Exception("telnet 发送命令["+command+"]失败", e); } } /** * 发送命令 * @param command 命令 * @param waitTime 获取返回结果时等待时间,在等待的时间内若返回的结果不是想要的结果,可以调用 getResponse(long waitTime)继续获取 * @return 执行结果 * @throws Exception */ public String sendCommand(String command,int waitTime) throws Exception { try { responseStr.delete(0, responseStr.capacity()); OutputStream outstr = tc.getOutputStream(); outstr.write(command.getBytes()); outstr.write(13); outstr.write(10); outstr.flush(); } catch (Exception e) { throw new Exception("telnet 发送命令["+command+"]失败", e); } return getResponse(waitTime); } @Override public void receivedNegotiation(int negotiation_code, int option_code) { String command = null; if (negotiation_code == TelnetNotificationHandler.RECEIVED_DO) { command = "DO"; } else if (negotiation_code == TelnetNotificationHandler.RECEIVED_DONT) { command = "DONT"; } else if (negotiation_code == TelnetNotificationHandler.RECEIVED_WILL) { command = "WILL"; } else if (negotiation_code == TelnetNotificationHandler.RECEIVED_WONT) { command = "WONT"; } logger.debug("Received " + command + " for option code " + option_code); } /*** * Reader thread. Reads lines from the TelnetClient and echoes them on the * screen. ***/ // @Override public void run() { InputStream instr = tc.getInputStream(); try { byte[] buff = new byte[1024]; int ret_read = 0; do { ret_read = instr.read(buff); if (ret_read > 0) { responseStr.append(new String(buff, 0, ret_read)); } } while (ret_read >= 0); } catch (Exception e) { logger.error("Exception while reading socket:"+ e.getMessage()); } // System.out.println("read thread over"); // try { // if(tc != null && tc.isConnected()){ // // tc.disconnect(); // } // // } catch (Exception e) { // logger.error(e); // } } /** * 获取命令返回去 * @param waitTime 等待时间 * @return */ public String getResponse(long waitTime) { try { Thread.sleep(waitTime); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return responseStr.toString(); } public static void main(String[] args) throws Exception { TelnetUtil util = new TelnetUtil("10.22.1.12"); String welcome=util.connect(2000); if(welcome.contains("Microsoft")){ System.out.println("widows opreation"); }else{ System.out.println("linux opreation"); } System.out.println(welcome); System.out.println(util.sendCommand("administrator",2000)); System.out.println(util.sendCommand("123456",2000)); System.out.println(util.sendCommand("dir",2000)); System.out.println(util.sendCommand("d:",2000)); System.out.println(util.sendCommand("dir",2000)); util.disConnect(); } }  ... 全文

telnet apache

第三章 安装apache

 版本V1.0时间2012-10-04版权GPL作者itnihao 邮箱 itnihao@qq.com博客 http://itnihao.blog.51cto.com如需重新发行,请注明以上信息,谢谢合作前言... 全文

apache安装

Apache整合PHP

前提:已源码安装过Apache1.安装PHP之前安装PHP组件 GD 库... 全文

php apache

第五章 apache启动脚本

 版本V1.0时间2012-10-04版权GPL作者itnihao 邮箱 itnihao@qq.com博客 http://itnihao.blog.51cto.com如需重新发行,请注明以上信息,谢谢合作前言... 全文

apache

apache的配置优化

【APACHE的工作方式】prefork模式(默认)这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。... 全文

apache 优化

3 4 5 6 7 8 9 10 11 12