来自 关于计算机 2019-11-03 04:55 的文章
当前位置: 六合联盟网 > 关于计算机 > 正文

Tomcat6的虚拟主机配置之tomcat

卸载apache
首先停止服务
sudo /etc/init.d/apache2 stop
再卸载
sudo apt-get  --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove (此命令会自动卸载PHP)

目标,在Linux进行apache2.2版本和tomcat6版本的虚拟主机配置。有些时候apache2.2是不能将请求转发给tomcat的(例如直接处理静态页面的显示),所以我们直接用ajp代理之类的简单策略就没有办法区分动态项目和静态项目处理方式了。在这个方面,tomcat早有准备,推出了tomcat-connectors进行了支持。

安装apache
sudo apt-get install apache2

  前期安装:

启动、停止和重启
因为apache2ctl命令在/usr/sbin下面,所以可以直接这样:
sudo apache2ctl -k start
sudo apache2ctl -k stop
sudo apache2ctl -k restart
也可以使用/etc/init.d/下的apache2命令:
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 restart
注:最新版本的apache已经默认是开机自动启动了

  1、apache已经完全安装到了/usr/local/apache2.2目录下了,web服务端口是80。启动后是apache的it works!提示

安装后的原始文件结构

  2、tomcat6已经安装到了/usr/local/tomcat6目录下了。8009端口开发,web服务端口是8080。启动后是tomcat的默认页。

主目录是/etc/apache2

  我在tomcat6的webapps下已经部署了两个jsp项目MicTrader 和MicSeller。通过

conf.d下有个charset,把文件里“AddDefaultCharset UTF-8”前的注释去掉,当然你也可以把编码改为其他格式

打开mods-available,这些都是可以使用的模块,Apache要动态加载的模块在/usr/lib/apache2/modules/下,最新版本的apache已经默认load了dav_svn_module和authz_svn_module

  3、jdk已经安装了,并且上边的两个服务已经可用了

打开sites-avalable,有个很重要的文件default,其全部内容如下:

  4、linux的RedHat4版本,相关编译包已经ok了

<VirtualHost *>

  下载:

    ServerAdmin webmaster@localhost

1、connector包:Apache Tomcat Connectors (mod_jk) 1.2.30 for Linux i586

  

命令:wget 

    DocumentRoot /var/www

注意:

    <Directory />

2、下载后的so文件名:mod_jk-1.2.30-httpd-2.2.X.so
将文件拷贝并重命名到:/usr/local/apache2.2/modules/mod_jk.so

        Options FollowSymLinks

给文件赋予系统读写权限:cd /usr/local/apache2.2/modules 

        AllowOverride None

chmod 777 mod_jk.so

    </Directory>

3、进行相关文件的配置(操作前请备份一份)

    <Directory /var/www/>

(1)、配置httpd.conf。注意内部标注add by kongqz的地方。都是我加上去的。主要是进行了mod_jk.so模块加载,以及虚拟主机的配置两个配置工作

        Options Indexes FollowSymLinks MultiViews
  1. #   
  2. # This is the main Apache HTTP server configuration file.  It contains the   
  3. # configuration directives that give the server its instructions.   
  4. # See <URL:http://httpd.apache.org/docs/2.2> for detailed information.   
  5. # In particular, see    
  6. <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>  
  7. # for a discussion of each configuration directive.   
  8. #   
  9. # Do NOT simply read the instructions in here without understanding   
  10. # what they do.  They're here only as hints or reminders.  If you are unsure   
  11. # consult the online docs. You have been warned.     
  12. #   
  13. # Configuration and logfile names: If the filenames you specify for many   
  14. # of the server's control files begin with "/" (or "drive:/" for Win32), the   
  15. # server will use that explicit path.  If the filenames do *not* begin   
  16. # with "/", the value of ServerRoot is prepended -- so "logs/foo_log"   
  17. # with ServerRoot set to "/usr/local/apache2.2" will be interpreted by the   
  18. # server as "/usr/local/apache2.2/logs/foo_log".   
  19. #   
  20. # ServerRoot: The top of the directory tree under which the server's   
  21. # configuration, error, and log files are kept.   
  22. #   
  23. # Do not add a slash at the end of the directory path.  If you point   
  24. # ServerRoot at a non-local disk, be sure to point the LockFile directive   
  25. # at a local disk.  If you wish to share the same ServerRoot for multiple   
  26. # httpd daemons, you will need to change at least LockFile and PidFile.   
  27. #   
  28. ServerRoot "/usr/local/apache2.2"   
  29. #   
  30. # Listen: Allows you to bind Apache to specific IP addresses and/or   
  31. # ports, instead of the default. See also the <VirtualHost>  
  32. # directive.   
  33. #   
  34. # Change this to Listen on specific IP addresses as shown below to    
  35. # prevent Apache from glomming onto all bound IP addresses.   
  36. #   
  37. #Listen 12.34.56.78:80   
  38. Listen 80   
  39. #   
  40. # Dynamic Shared Object (DSO) Support   
  41. #   
  42. # To be able to use the functionality of a module which was built as a DSO you   
  43. # have to place corresponding `LoadModule' lines at this location so the   
  44. # directives contained in it are actually available _before_ they are used.   
  45. # Statically compiled modules (those listed by `httpd -l') do not need   
  46. # to be loaded here.   
  47. #   
  48. # Example:   
  49. # LoadModule foo_module modules/mod_foo.so   
  50. #   
  51. LoadModule authn_file_module modules/mod_authn_file.so   
  52. LoadModule authn_dbm_module modules/mod_authn_dbm.so   
  53. LoadModule authn_anon_module modules/mod_authn_anon.so   
  54. LoadModule authn_dbd_module modules/mod_authn_dbd.so   
  55. LoadModule authn_default_module modules/mod_authn_default.so   
  56. LoadModule authz_host_module modules/mod_authz_host.so   
  57. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so   
  58. LoadModule authz_user_module modules/mod_authz_user.so   
  59. LoadModule authz_dbm_module modules/mod_authz_dbm.so   
  60. LoadModule authz_owner_module modules/mod_authz_owner.so   
  61. LoadModule authz_default_module modules/mod_authz_default.so   
  62. LoadModule auth_basic_module modules/mod_auth_basic.so   
  63. LoadModule auth_digest_module modules/mod_auth_digest.so   
  64. LoadModule dbd_module modules/mod_dbd.so   
  65. LoadModule dumpio_module modules/mod_dumpio.so   
  66. LoadModule reqtimeout_module modules/mod_reqtimeout.so   
  67. LoadModule ext_filter_module modules/mod_ext_filter.so   
  68. LoadModule include_module modules/mod_include.so   
  69. LoadModule filter_module modules/mod_filter.so   
  70. LoadModule substitute_module modules/mod_substitute.so   
  71. LoadModule deflate_module modules/mod_deflate.so   
  72. LoadModule log_config_module modules/mod_log_config.so   
  73. LoadModule log_forensic_module modules/mod_log_forensic.so   
  74. LoadModule logio_module modules/mod_logio.so   
  75. LoadModule env_module modules/mod_env.so   
  76. LoadModule mime_magic_module modules/mod_mime_magic.so   
  77. LoadModule cern_meta_module modules/mod_cern_meta.so   
  78. LoadModule expires_module modules/mod_expires.so   
  79. LoadModule headers_module modules/mod_headers.so   
  80. LoadModule ident_module modules/mod_ident.so   
  81. LoadModule usertrack_module modules/mod_usertrack.so   
  82. LoadModule unique_id_module modules/mod_unique_id.so   
  83. LoadModule setenvif_module modules/mod_setenvif.so   
  84. LoadModule version_module modules/mod_version.so   
  85. LoadModule proxy_module modules/mod_proxy.so   
  86. LoadModule proxy_connect_module modules/mod_proxy_connect.so   
  87. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so   
  88. LoadModule proxy_http_module modules/mod_proxy_http.so   
  89. LoadModule proxy_scgi_module modules/mod_proxy_scgi.so   
  90. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so   
  91. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so   
  92. LoadModule mime_module modules/mod_mime.so   
  93. LoadModule dav_module modules/mod_dav.so   
  94. LoadModule status_module modules/mod_status.so   
  95. LoadModule autoindex_module modules/mod_autoindex.so   
  96. LoadModule asis_module modules/mod_asis.so   
  97. LoadModule info_module modules/mod_info.so   
  98. LoadModule cgi_module modules/mod_cgi.so   
  99. LoadModule dav_fs_module modules/mod_dav_fs.so   
  100. LoadModule vhost_alias_module modules/mod_vhost_alias.so   
  101. LoadModule negotiation_module modules/mod_negotiation.so   
  102. LoadModule dir_module modules/mod_dir.so   
  103. LoadModule imagemap_module modules/mod_imagemap.so   
  104. LoadModule actions_module modules/mod_actions.so   
  105. LoadModule speling_module modules/mod_speling.so   
  106. LoadModule userdir_module modules/mod_userdir.so   
  107. LoadModule alias_module modules/mod_alias.so   
  108. LoadModule rewrite_module modules/mod_rewrite.so   
  109. #add by kongqz 20101214   
  110. LoadModule jk_module modules/mod_jk.so   
  111. #AddModule mod_jk.c   
  112. Include /usr/local/apache2.2/conf/mod_jk.conf   
  113. <IfModule !mpm_netware_module>  
  114. <IfModule !mpm_winnt_module>  
  115. #   
  116. # If you wish httpd to run as a different user or group, you must run   
  117. # httpd as root initially and it will switch.     
  118. #   
  119. # User/Group: The name (or #number) of the user/group to run httpd as.   
  120. # It is usually good practice to create a dedicated user and group for   
  121. # running httpd, as with most system services.   
  122. #   
  123. User daemon   
  124. Group daemon   
  125. </IfModule>  
  126. </IfModule>  
  127. # 'Main' server configuration   
  128. #   
  129. # The directives in this section set up the values used by the 'main'   
  130. # server, which responds to any requests that aren't handled by a   
  131. <VirtualHost> definition.  These values also provide defaults for   
  132. # any <VirtualHost> containers you may define later in the file.   
  133. #   
  134. # All of these directives may appear inside <VirtualHost> containers,   
  135. # in which case these default settings will be overridden for the   
  136. # virtual host being defined.   
  137. #   
  138. #   
  139. # ServerAdmin: Your address, where problems with the server should be   
  140. # e-mailed.  This address appears on some server-generated pages, such   
  141. # as error documents.  e.g. admin@your-domain.com   
  142. #   
  143. ServerAdmin you@example.com   
  144. #   
  145. # ServerName gives the name and port that the server uses to identify itself.   
  146. # This can often be determined automatically, but we recommend you specify   
  147. # it explicitly to prevent problems during startup.   
  148. #   
  149. # If your host doesn't have a registered DNS name, enter its IP address here.   
  150. #   
  151. #ServerName www.example.com:80   
  152. #   
  153. # DocumentRoot: The directory out of which you will serve your   
  154. # documents. By default, all requests are taken from this directory, but   
  155. # symbolic links and aliases may be used to point to other locations.   
  156. #   
  157. DocumentRoot "/usr/local/apache2.2/htdocs"   
  158. #   
  159. # Each directory to which Apache has access can be configured with respect   
  160. # to which services and features are allowed and/or disabled in that   
  161. # directory (and its subdirectories).    
  162. #   
  163. # First, we configure the "default" to be a very restrictive set of    
  164. # features.     
  165. #   
  166. <Directory />  
  167.     Options FollowSymLinks   
  168.     AllowOverride None   
  169.     Order deny,allow   
  170.     Deny from all   
  171. </Directory>  
  172. #   
  173. # Note that from this point forward you must specifically allow   
  174. # particular features to be enabled - so if something's not working as   
  175. # you might expect, make sure that you have specifically enabled it   
  176. # below.   
  177. #   
  178. #   
  179. # This should be changed to whatever you set DocumentRoot to.   
  180. #   
  181. <Directory "/usr/local/apache2.2/htdocs">  
  182.     #   
  183.     # Possible values for the Options directive are "None", "All",   
  184.     # or any combination of:   
  185.     #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews   
  186.     #   
  187.     # Note that "MultiViews" must be named *explicitly* --- "Options All"   
  188.     # doesn't give it to you.   
  189.     #   
  190.     # The Options directive is both complicated and important.  Please see   
  191.     #    
  192.     # for more information.   
  193.     #   
  194.     Options Indexes FollowSymLinks   
  195.     #   
  196.     # AllowOverride controls what directives may be placed in .htaccess files.   
  197.     # It can be "All", "None", or any combination of the keywords:   
  198.     #   Options FileInfo AuthConfig Limit   
  199.     #   
  200.     AllowOverride None   
  201.     #   
  202.     # Controls who can get stuff from this server.   
  203.     #   
  204.     Order allow,deny   
  205.     Allow from all   
  206. </Directory>  
  207. #   
  208. # DirectoryIndex: sets the file that Apache will serve if a directory   
  209. # is requested.   
  210. #   
  211. <IfModule dir_module>  
  212.     DirectoryIndex index.html index.jsp   
  213. </IfModule>  
  214. #   
  215. # The following lines prevent .htaccess and .htpasswd files from being    
  216. # viewed by Web clients.    
  217. #   
  218. <FilesMatch "^.ht">  
  219.     Order allow,deny   
  220.     Deny from all   
  221.     Satisfy All   
  222. </FilesMatch>  
  223. #   
  224. # ErrorLog: The location of the error log file.   
  225. # If you do not specify an ErrorLog directive within a <VirtualHost>  
  226. # container, error messages relating to that virtual host will be   
  227. # logged here.  If you *do* define an error logfile for a <VirtualHost>  
  228. # container, that host's errors will be logged there and not here.   
  229. #   
  230. ErrorLog "logs/error_log"   
  231. #   
  232. # LogLevel: Control the number of messages logged to the error_log.   
  233. # Possible values include: debug, info, notice, warn, error, crit,   
  234. # alert, emerg.   
  235. #   
  236. LogLevel warn   
  237. <IfModule log_config_module>  
  238.     #   
  239.     # The following directives define some format nicknames for use with   
  240.     # a CustomLog directive (see below).   
  241.     #   
  242.     LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined   
  243.     LogFormat "%h %l %u %t "%r" %>s %b" common   
  244.     <IfModule logio_module>  
  245.       # You need to enable mod_logio.c to use %I and %O   
  246.       LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio   
  247.     </IfModule>  
  248.     #   
  249.     # The location and format of the access logfile (Common Logfile Format).   
  250.     # If you do not define any access logfiles within a <VirtualHost>  
  251.     # container, they will be logged here.  Contrariwise, if you *do*   
  252.     # define per-<VirtualHost> access logfiles, transactions will be   
  253.     # logged therein and *not* in this file.   
  254.     #   
  255.     CustomLog "logs/access_log" common   
  256.     #   
  257.     # If you prefer a logfile with access, agent, and referer information   
  258.     # (Combined Logfile Format) you can use the following directive.   
  259.     #   
  260.     #CustomLog "logs/access_log" combined   
  261. </IfModule>  
  262. <IfModule alias_module>  
  263.     #   
  264.     # Redirect: Allows you to tell clients about documents that used to    
  265.     # exist in your server's namespace, but do not anymore. The client    
  266.     # will make a new request for the document at its new location.   
  267.     # Example:   
  268.     # Redirect permanent /foo    
  269.     #   
  270.     # Alias: Maps web paths into filesystem paths and is used to   
  271.     # access content that does not live under the DocumentRoot.   
  272.     # Example:   
  273.     # Alias /webpath /full/filesystem/path   
  274.     #   
  275.     # If you include a trailing / on /webpath then the server will   
  276.     # require it to be present in the URL.  You will also likely   
  277.     # need to provide a <Directory> section to allow access to   
  278.     # the filesystem path.   
  279.     #   
  280.     # ScriptAlias: This controls which directories contain server scripts.    
  281.     # ScriptAliases are essentially the same as Aliases, except that   
  282.     # documents in the target directory are treated as applications and   
  283.     # run by the server when requested rather than as documents sent to the   
  284.     # client.  The same rules about trailing "/" apply to ScriptAlias   
  285.     # directives as to Alias.   
  286.     #   
  287.     ScriptAlias /cgi-bin/ "/usr/local/apache2.2/cgi-bin/"   
  288. </IfModule>  
  289. <IfModule cgid_module>  
  290.     #   
  291.     # ScriptSock: On threaded servers, designate the path to the UNIX   
  292.     # socket used to communicate with the CGI daemon of mod_cgid.   
  293.     #   
  294.     #Scriptsock logs/cgisock   
  295. </IfModule>  
  296. #   
  297. # "/usr/local/apache2.2/cgi-bin" should be changed to whatever your ScriptAliased   
  298. # CGI directory exists, if you have that configured.   
  299. #   
  300. <Directory "/usr/local/apache2.2/cgi-bin">  
  301.     AllowOverride None   
  302.     Options None   
  303.     Order allow,deny   
  304.     Allow from all   
  305. </Directory>  
  306. #   
  307. # DefaultType: the default MIME type the server will use for a document   
  308. # if it cannot otherwise determine one, such as from filename extensions.   
  309. # If your server contains mostly text or HTML documents, "text/plain" is   
  310. # a good value.  If most of your content is binary, such as applications   
  311. # or images, you may want to use "application/octet-stream" instead to   
  312. # keep browsers from trying to display binary files as though they are   
  313. # text.   
  314. #   
  315. DefaultType text/plain   
  316. <IfModule mime_module>  
  317.     #   
  318.     # TypesConfig points to the file containing the list of mappings from   
  319.     # filename extension to MIME-type.   
  320.     #   
  321.     TypesConfig conf/mime.types   
  322.     #   
  323.     # AddType allows you to add to or override the MIME configuration   
  324.     # file specified in TypesConfig for specific file types.   
  325.     #   
  326.     #AddType application/x-gzip .tgz   
  327.     #   
  328.     # AddEncoding allows you to have certain browsers uncompress   
  329.     # information on the fly. Note: Not all browsers support this.   
  330.     #   
  331.     #AddEncoding x-compress .Z   
  332.     #AddEncoding x-gzip .gz .tgz   
  333.     #   
  334.     # If the AddEncoding directives above are commented-out, then you   
  335.     # probably should define those extensions to indicate media types:   
  336.     #   
  337.     AddType application/x-compress .Z   
  338.     AddType application/x-gzip .gz .tgz   
  339.     #   
  340.     # AddHandler allows you to map certain file extensions to "handlers":   
  341.     # actions unrelated to filetype. These can be either built into the server   
  342.     # or added with the Action directive (see below)   
  343.     #   
  344.     # To use CGI scripts outside of ScriptAliased directories:   
  345.     # (You will also need to add "ExecCGI" to the "Options" directive.)   
  346.     #   
  347.     #AddHandler cgi-script .cgi   
  348.     # For type maps (negotiated resources):   
  349.     #AddHandler type-map var   
  350.     #   
  351.     # Filters allow you to process content before it is sent to the client.   
  352.     #   
  353.     # To parse .shtml files for server-side includes (SSI):   
  354.     # (You will also need to add "Includes" to the "Options" directive.)   
  355.     #   
  356.     #AddType text/html .shtml   
  357.     #AddOutputFilter INCLUDES .shtml   
  358. </IfModule>  
  359. #   
  360. # The mod_mime_magic module allows the server to use various hints from the   
  361. # contents of the file itself to determine its type.  The MIMEMagicFile   
  362. # directive tells the module where the hint definitions are located.   
  363. #   
  364. #MIMEMagicFile conf/magic   
  365. #   
  366. # Customizable error responses come in three flavors:   
  367. # 1) plain text 2) local redirects 3) external redirects   
  368. #   
  369. # Some examples:   
  370. #ErrorDocument 500 "The server made a boo boo."   
  371. #ErrorDocument 404 /missing.html   
  372. #ErrorDocument 404 "/cgi-bin/missing_handler.pl"   
  373. #ErrorDocument 402    
  374. #   
  375. #   
  376. # EnableMMAP and EnableSendfile: On systems that support it,    
  377. # memory-mapping or the sendfile syscall is used to deliver   
  378. # files.  This usually improves server performance, but must   
  379. # be turned off when serving from networked-mounted    
  380. # filesystems or if support for these functions is otherwise   
  381. # broken on your system.   
  382. #   
  383. #EnableMMAP off   
  384. #EnableSendfile off   
  385. # Supplemental configuration   
  386. #   
  387. # The configuration files in the conf/extra/ directory can be    
  388. # included to add extra features or to modify the default configuration of    
  389. # the server, or you may simply copy their contents here and change as    
  390. # necessary.   
  391. # Server-pool management (MPM specific)   
  392. #Include conf/extra/httpd-mpm.conf   
  393. # Multi-language error messages   
  394. #Include conf/extra/httpd-multilang-errordoc.conf   
  395. # Fancy directory listings   
  396. #Include conf/extra/httpd-autoindex.conf   
  397. # Language settings   
  398. #Include conf/extra/httpd-languages.conf   
  399. # User home directories   
  400. #Include conf/extra/httpd-userdir.conf   
  401. # Real-time info on requests and configuration   
  402. #Include conf/extra/httpd-info.conf   
  403. # Virtual hosts   
  404. #Include conf/extra/httpd-vhosts.conf   
  405. # Local access to the Apache HTTP Server Manual   
  406. #Include conf/extra/httpd-manual.conf   
  407. # Distributed authoring and versioning (WebDAV)   
  408. #Include conf/extra/httpd-dav.conf   
  409. # Various default settings   
  410. #Include conf/extra/httpd-default.conf   
  411. #add by kongqz 20101214   
  412. NameVirtualHost *:80   
  413. <VirtualHost *:80>  
  414.     DocumentRoot /usr/local/tomcat6/webapps/MicSeller   
  415.     ServerName seller.linuxidc.com   
  416.     ErrorLog logs/seller-error_log.log   
  417.     CustomLog logs/seller-access_log.log common   
  418.     JkMount /* worker1   
  419. </VirtualHost>  
  420. <VirtualHost *:80>  
  421.     DocumentRoot /usr/local/tomcat6/webapps/MicTrader   
  422.     ServerName trader.linuxidc.com   
  423.     ErrorLog logs/trader-error_log.log   
  424.     CustomLog logs/trader-access_log.log common   
  425.     JkMount /* worker1   
  426. </VirtualHost>  
  427. # Secure (SSL/TLS) connections   
  428. #Include conf/extra/httpd-ssl.conf   
  429. #   
  430. # Note: The following must must be present to support   
  431. #       starting without SSL on platforms with no /dev/random equivalent   
  432. #       but a statically compiled-in mod_ssl.   
  433. #   
  434. <IfModule ssl_module>  
  435. SSLRandomSeed startup builtin   
  436. SSLRandomSeed connect builtin   
  437. </IfModule>  
        AllowOverride None

(2)、增加mod_jk.conf配置文件。这里我将host表中的ip指向服务器,并将域名seller.linuxidc.com和trader.linuxidc.com也一并指向到此服务器

        Order allow,deny
  1. JkWorkersFile /usr/local/apache2.2/conf/workers.properties  
  2. # Where to put jk logs   
  3. JkLogFile /usr/local/apache2.2/logs/mod_jk.log  
  4. # Set the jk log level [debug/error/info]   
  5. JkLogLevel info  
  6. # Select the log format   
  7. JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 
  8. # JkOptions indicate to send SSL KEY SIZE,    
  9. JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories  
  10. # JkRequestLogFormat set the request format    
  11. JkRequestLogFormat "%w %V %T"  
  12. JkMount /servlet/*  worker1   
  13. JkMount /*.jsp worker1   
  14. JkMount /MicSeller/* worker1   
  15. JkMount /MicTrader/* worker1  
        allow from all

(3)、增加配置文件workers.properties

    </Directory>
  1. # Defining a worker named worker1 and of type ajp13   
  2. worker.list=worker1  
  3. # Set properties for worker1   
  4. worker.worker1.type=ajp13     
  5. worker.worker1.host=localhost     
  6. worker.worker1.port=8009   
  7. worker.worker1.lbfactor=50     
  8. worker.worker1.cachesize=10     
  9. worker.worker1.cache_timeout=600     
  10. worker.worker1.socket_keepalive=1     
  11. worker.worker1.socket_timeout=300  
  

4、进行访问:

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

配合上边的三个文件的配置,我就可以通过

    <Directory "/usr/lib/cgi-bin">

        AllowOverride None

        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

访问指定的项目了

        Order allow,deny

5、如果是静态html文件项目的访问咋办?

        Allow from all

就在我们的http.conf项目中的配置更改如下:

    </Directory>

<VirtualHost *:80>
    DocumentRoot /usr/local/static
    ServerName static.linuxidc.com
    ErrorLog logs/static-error_log.log
    CustomLog logs/static-access_log.log common
 #   JkMount /* worker1
</VirtualHost>

  

就是不做转发了,将JkMount 这行去掉

    ErrorLog ${APACHE_LOG_DIR}/error.log

6、如果是我想配合php也一并部署到一个节点上行吗?

  

经过测试,在windows下没有问题。安装完毕php后,直接配置部署php相关模块在httpd.conf中,还是老样子,只要不指定JkMount.请求就不会转发到tomcat。

    # Possible values include: debug, info, notice, warn, error, crit,

总结:上边我只是配置了java项目的虚拟主机配置方案。更多的时候是为了兼容php或者apache直接进行静态文件的访问。如果只是想在tomcat前放个apache,有更简单的方法,ajp反向代理,直接进行8009端口转发。

    # alert, emerg.

图片 1

    LogLevel warn
  
    CustomLog ${APACHE_LOG_DIR}/access.log combined
  
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
  
</VirtualHost>

这里还有三个配置文件:apache2.conf、ports.conf和httpd.conf,httpd.conf是空的,当你要把不同的虚拟主机布置在不同的端口上时,需要配置ports.conf。apache2.conf是主配置文件,它里面有这第几句话:

Include httpd.conf

Include ports.conf

Include conf.d/

Include sites-enabled/

启动apache时提示:apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

在ports.conf中“Listen 80”的上面加入这第一句:ServerName 127.0.0.1

上面ports.conf里面配置的DocumentRoot是/var/www,可我在 /var/www下面放一个index,html后访问127.0.0.1/idex.html得到404 Not Found,查看日志文件/var/log/apache2/error.log,发现:/etc/apache2/htdocs,哪里指定 DocumentRoot是 /etc/apache2/htdocs了呢?无奈我只好建立 /etc/apache2/htdocs并把index.html放入其中,再次访问 127.0.0.1/idex.html成功,但apache只是把它当成一个普通的文件全部显示出来,并没有当成html文件来展现。查看日志文件,发现:Attempt to serve directory: /etc/apache2/htdocs/

把default的<VirtualHost *>改为<VirtualHost 127.0.0.1:80>

日志错误: File does not exist: /etc/apache2/htdocs/favicon.ico

创建一个图标文件就可以了,有很多在线生成icon的网站

这了让apache和svn搭配使用,我已建好了仓库/opt/svnroot,并使用htpasswd命令创建了密码文件/etc/apache2/svnuser,在httpd.conf中添加

如下内容:

 

<Location "/svn_repos">
    DAV svn
    SVNPath "/opt/svnroot"
    AuthType Basic
    AuthName "Log to SVN"
    AuthUserFile "/etc/apache2/svnuser"
    #允许匿名用户只读访问
    #<LimitExcept GET REPORT OPTIONS PROPFIND>
        Require valid-user
    #</LimitExcept>
</Location>

发生错误:Invalid command 'AuthUserFile', perhaps misspelled or defined by a module not included in the server configuration

在httpd.conf中加载三个模块:

LoadModule auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so

LoadModule authz_owner_module /usr/lib/apache2/modules/mod_authz_owner.so

LoadModule authn_file_module /usr/lib/apache2/modules/mod_authn_file.so

但是提交代码(svn import -m "import a.c" ~/a.c : Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for ''

这是验证用户功能出了问题

如果允许匿名用户只读访问

 <LimitExcept GET REPORT OPTIONS PROPFIND>

 

Require valid-user

 

</LimitExcept>

 

则检出时是没有问题的:svn co http://zcypc/svn_repos ~/web成功,在浏览器中访问127.0.0.1/svn_repos也顺利。

 

既然用户验证的问题暂时提不到解决,那我就为了让匿名用户也具有写权限--可以提交代码算了:把Require valid-user一句注释掉~~

 

安装apxs

 

为Apache编译安装扩展模块时需要apxs工具。

 

Ubuntu采用apt-get自动安装的apache后并没有安装apxs,需要再apt-get install apache2-dev把apxs装上,默认装在了/usr/lib/apache2/modules/apxs2.

图片 2

本文由六合联盟网发布于关于计算机,转载请注明出处:Tomcat6的虚拟主机配置之tomcat

关键词: