Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎專欄 | Search | Email

Netkiller Linux Web 手札

Apache, Lighttpd, Nginx, Resin, Tomcat, Jboss, Zope...

Mr. Neo Chan, 陳景峯(BG7NYT)


中國廣東省深圳市龍華新區民治街道溪山美地
518131
+86 13113668890


$Date: 2013-04-10 15:03:49 +0800 (Wed, 10 Apr 2013) $, $Id: book.xml 559 2013-04-10 07:03:49Z netkiller $

版權聲明

轉載請與作者聯繫,轉載時請務必標明文章原始出處和作者信息及本聲明。

文檔出處:
http://netkiller.github.io
http://netkiller.sourceforge.net

微信掃瞄二維碼進入 Netkiller 微信訂閲號

QQ群:128659835 請註明“讀者”

2017-02-13

內容摘要

本文檔講述Linux系統涵蓋了系統管理與配置包括:

[注意]對初學Linux的愛好者忠告

玩Linux最忌reboot(重新啟動)這是windows玩家壞習慣

Linux只要接上電源你就不要再想用reboot,shutdown,halt,poweroff命令,Linux系統和應用軟件一般備有reload,reconfigure,restart/start/stop...不需要安裝軟件或配置伺服器後使用reboot重新引導計算機

在Linux系統裡SIGHUP信號被定義為刷新配置檔案,有些程序沒有提供reload參數,你可以給進程發送HUP信號,讓它刷新配置檔案,而不用restart.通過pkill,killall,kill 都可以發送HUP信號例如: pkill -HUP httpd

我的系列文檔:

操作系統

Netkiller Linux 手札
Netkiller FreeBSD 手札
Netkiller Shell 手札
Netkiller Security 手札
Netkiller Web 手札
Netkiller Monitoring 手札
Netkiller Storage 手札
Netkiller Mail 手札
Netkiller Virtualization 手札

以下文檔停止更新合併到 《Netkiller Linux 手札》

Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller Multimedia 手札    

目錄

1. 自述
1.1. 系列文檔
1.2. 作者簡介
1.3. 寫給讀者
1.4. 文檔下載
1.5. 打賞(Donations)
1.5.1. 微信(Wechat)
1.5.2. 支付寶(Alipay)
1.5.3. PayPal Donations
1.5.4. 銀行(Bank)
1. Nginx
1.1. Installing
1.1.1. Netkiller OSCM 一鍵安裝 (CentOS 7)
1.1.2. Installing by apt-get under the debain/ubuntu
1.1.3. CentOS
1.1.3.1. spawn-fcgi script
1.1.3.2. php-fpm
1.1.3.3. fastcgi backend
1.1.4. installing by source
1.1.5. CentOS 7
1.1.6. rotate log
1.1.6.1. log shell
1.1.6.2. /etc/logrotate.d/nginx
1.2. Nginx 命令
1.2.1. -V show version and configure options then exit
1.2.2. -t : test configuration and exit
1.2.3. test configuration, dump it and exit
1.3. nginx 配置檔案
1.3.1. http 配置
1.3.2. events
1.3.3. gzip
1.3.3.1. CDN支持
1.3.4. server_tokens
1.3.5. ssi
1.3.6. server
1.3.6.1. listen
1.3.6.2. 單域名虛擬主機
1.3.6.3. ssl 虛擬主機
1.3.6.4. server_name 配置
1.3.6.5. root 通過$host智能匹配目錄
1.3.6.6. location
1.3.6.7. expires
1.3.6.7.1. 通過 add_header / more_set_headers 設置緩存
1.3.6.7.2. $request_uri
1.3.6.7.3. $request_filename
1.3.6.8. access
1.3.6.9. autoindex
1.3.6.10. try_files
1.3.6.11. add_header
1.3.6.11.1. Cache
1.3.6.11.2. Access-Control-Allow
1.3.7. HTTP2 配置 SSL證書
1.3.7.1. spdy
1.3.7.2. HTTP2
1.3.7.3. 用戶訪問 HTTP時強制跳轉到 HTTPS
1.3.8. rewrite
1.3.8.1. http get 參數處理
1.3.8.2. 正則取非
1.3.9. upstream 負載均衡
1.3.9.1. weight 權重配置
1.3.9.2. backup 實現熱備
1.3.10. fastcgi
1.3.10.1. spawn-fcgi
1.3.10.2. php-fpm
1.3.10.2.1. php5-fpm
1.3.10.2.2. 編譯 php-fpm
1.3.10.2.2.1. php-fpm 狀態
1.3.10.2.3. fastcgi_pass
1.3.11. return
1.3.12. Nginx 變數
1.3.12.1. $host
1.3.12.2. http_user_agent
1.3.12.2.1. 禁止非瀏覽器訪問
1.3.12.2.2. http_user_agent 沒有設置不允許訪問
1.3.12.3. http_referer
1.3.12.3.1. valid_referers/invalid_referer
1.3.12.4. request_filename
1.3.12.5. request_uri
1.3.12.6. remote_addr
1.3.12.7. http_cookie
1.3.12.8. request_method
1.3.12.9. limit_except
1.3.12.10. invalid_referer
1.3.12.11. $request_body - HTTP POST 數據
1.3.12.11.1. 用戶日誌
1.3.12.11.2. $request_body 用於緩存
1.3.12.12. 自定義變數
1.3.12.13. if 條件判斷
1.4. Proxy
1.4.1. proxy_cache
1.4.2. rewrite + proxy_pass
1.4.3. request_filename + proxy_pass
1.4.4. $request_uri 與 proxy_pass 聯合使用
1.4.5. try_files 與 proxy_pass 共用
1.4.6. Proxy 與 SSI
1.4.7. Host
1.4.8. expires
1.4.9. X-Forwarded-For
1.4.10. X-Sendfile
1.4.11. proxy_http_version
1.4.12. proxy_set_header
1.4.13. timeout 超時時間
1.4.14. example
1.4.14.1. upstream 實例
1.4.14.2. Tomcat 實例
1.4.14.3. Nginx -> Nginx -> Tomcat
1.4.14.4. Proxy 處理 Cookie
1.4.14.5. Proxy 添加 CORS 頭
1.4.14.6. 通過 Proxy 漢化 restful 介面
1.5. Nginx module
1.5.1. stub_status
1.5.2. sub_filter 頁面中查找和替換
1.5.3. auth_basic
1.5.4. valid_referers
1.5.5. ngx_http_flv_module
1.5.6. ngx_http_mp4_module
1.5.7. limit_zone
1.5.8. image_filter
1.5.9. ngx_stream_proxy_module
1.5.10. limit_except
1.5.11. geoip_country_code
1.6. Example
1.6.1. Nginx + Tomcat
1.6.2. 攔截index.html
1.6.3. Session 的 Cookie 域處理
1.7. FAQ
1.7.1. 405 Not Allowed?
1.7.2. 502 Bad Gateway?
1.7.3. 413 Request Entity Too Large
1.7.4. 502 Bad Gateway?
1.7.5. 499 Client Closed Request
1.7.6. proxy_pass
1.7.7. proxy_pass SESSION 丟失問題
1.7.8. [alert] 55785#0: *11449 socket() failed (24: Too many open files) while connecting to upstream
1.7.9. server_name 與 SSI 注意事項
1.7.10. location 跨 document_root 引用,引用 document_root 之外的資源
1.7.11. nginx: [warn] duplicate MIME type "text/html" in /etc/nginx/nginx.conf
2. Apache Tomcat
2.1. Tomcat 安裝與配置
2.1.1. Tomcat 6
2.1.1.1. tomcat-native
2.1.1.2. 啟動腳本
2.1.2. Tomcat 7
2.1.2.1. Server JRE
2.1.2.2. Tomcat
2.1.3. Java 8 + Tomcat 8
2.1.3.1. systemctl 啟動腳本
2.1.3.2. Session 共享
2.1.3.2.1. test session
2.1.4. 防火牆配置
2.1.5. 同時運行多實例
2.1.6. Testing file
2.1.7. mod_jk
2.1.8. mod_proxy_ajp
2.1.9. RewriteEngine 連接 Tomcat
2.2. 配置 Tomcat 伺服器
2.2.1. server.xml
2.2.1.1. Connector
2.2.1.1.1. HTTPS
2.2.1.1.2. compression
2.2.1.1.3. useBodyEncodingForURI
2.2.1.1.4. 隱藏Tomcat版本信息
2.2.1.2. Context
2.2.1.2.1. 應用程序安全
2.2.1.2.2. JSESSIONID
2.2.2. tomcat-users.xml
2.2.3. context.xml
2.2.3.1. Resources
2.2.3.2. session cookie
2.2.4. logging.properties
2.2.5. catalina.properties
2.3. 虛擬主機配置
2.3.1. 方案一
2.3.2. 方案二
2.3.3. Alias 別名
2.3.4. access_log
2.3.5. Context 配置
2.3.6. 主機綁定IP地址
2.4. SSI
2.5. Logging 日誌
2.5.1. 開啟 debug 模式
2.5.2. 切割 catalina.out 日誌
2.6. Init.d Script
2.6.1. Script 1
2.6.2. Shell Script 2
3. Apache httpd
3.1. Install
3.1.1. Quick install apache with aptitude
3.1.1.1. command
3.1.1.2. rewrite module
3.1.1.3. PHP module
3.1.1.4. deflate module
3.1.1.5. ssl module
3.1.1.6. VirtualHost
3.1.1.7. ~userdir module - /public_html
3.1.1.8. PHP 5
3.1.2. CentOS 6
3.1.2.1. Install
3.1.2.2. Uninstall
3.1.2.3. Configure
3.1.2.3.1. Apache
3.1.2.3.1.1. VirtualHost
3.1.2.3.2. MySQL
3.1.2.4. Starting
3.1.2.5. FAQ
3.1.2.5.1. compile php
3.1.3. Compile and then install Apache
3.1.3.1. Apache 安裝與配置
3.1.3.2. 優化編譯條件
3.1.3.3. PHP
3.1.3.4. Automation Installing
3.1.4. XAMPP
3.1.4.1. XAMPP for Linux
3.1.4.2. php5
3.2. Module
3.2.1. Output a list of modules compiled into the server.
3.2.2. Core
3.2.2.1. Listen
3.2.2.2. Filesystem and Webspace
3.2.2.2.1. Options
3.2.2.3. Etag
3.2.2.4. 隱藏 Apache 版本信息
3.2.3. mpm
3.2.3.1. event
3.2.3.2. worker
3.2.4. Apache Log
3.2.4.1. LogLevel
3.2.4.2. LogFormat
3.2.4.3. Compressed
3.2.4.4. rotatelogs - Piped logging program to rotate Apache logs
3.2.4.5. cronolog
3.2.4.6. 日誌合併
3.2.4.7. 日誌歸檔
3.2.4.8. logger
3.2.4.9. other
3.2.5. mod_access
3.2.6. VirtualHost
3.2.6.1. ServerName/ServerAlias
3.2.6.2. rotatelogs
3.2.7. Alias / AliasMatch
3.2.8. Redirect / RedirectMatch
3.2.9. Rewrite
3.2.9.1. R=301
3.2.9.2. Rewrite + JkMount
3.2.9.3. Apache redirect domain.com to www.domain.com
3.2.9.4. 正則匹配副檔名
3.2.10. Proxy
3.2.10.1. Reverse proxy
3.2.11. Deflate
3.2.11.1. 測試 gzip,deflate 模組
3.2.12. Expires
3.2.12.1. FilesMatch
3.2.12.2. Cache-Control
3.2.12.3. ETag
3.2.13. Cache
3.2.13.1. mod_disk_cache
3.2.13.2. mod_mem_cache
3.2.14. usertrack
3.2.15. Charset
3.2.16. Dir
3.2.17. Includes
3.2.18. Apache Status
3.2.19. Mod Perl
3.2.20. mod_pagespeed -
3.2.21. Module FAQ
3.2.22. mod_setenvif
3.2.23. PHP 程序安全問題 php_admin_value
3.2.24. mod_spdy
3.3. 設置Apache實現防盜連
3.4. .htaccess
3.5. Error Prompt
3.5.1. Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
3.5.2. Invalid command 'AuthUserFile', perhaps misspelled or defined by a module not included in the server configuration
4. Lighttpd
4.1. 安裝Lighttpd
4.1.1. quick install with aptitude
4.1.2. yum install
4.1.3. to compile and then install lighttpd
4.1.3.1. shell script
4.2. /etc/lighttpd/lighttpd.conf
4.2.1. max-worker / max-fds
4.2.2. accesslog.filename
4.2.3. ETags
4.2.4. server.tag
4.3. Module
4.3.1. simple_vhost
4.3.2. ssl
4.3.3. redirect
4.3.4. rewrite
4.3.4.1. Lighttpd Rewrite QSA
4.3.5. alias
4.3.6. auth
4.3.7. compress
4.3.8. expire
4.3.9. status
4.3.10. setenv
4.3.10.1. Automatic Decompression
4.3.11. fastcgi
4.3.11.1. enable fastcgi
4.3.11.1.1. spawn-fcgi
4.3.11.1.2. php-fpm
4.3.11.2. PHP
4.3.11.2.1. 編譯安裝PHP
4.3.11.2.2. apt-get install
4.3.11.3. Python
4.3.11.3.1. Django
4.3.11.3.2. Python Imaging Library
4.3.11.4. Perl
4.3.11.4.1. Installing lighttpd and FastCGI for Catalyst
4.3.11.5. Ruby
4.3.11.6. UNIX domain sockets
4.3.12. user-agent
4.3.13. spdy
4.4. 其他模組
4.4.1. mod_secdownload 防盜鏈
4.5. Example
4.5.1. s-maxage
5. Resin
5.1. 安裝Resin
5.1.1. 直接使用
5.1.2. Debian/Ubuntu
5.1.3. 源碼安裝Resin
5.2. Compiling mod_caucho.so
5.3. resin.conf
5.3.1. Maximum number of threads
5.3.2. Configures the keepalive
5.3.3. ssl
5.4. virtual hosts
5.4.1. explicit host
5.4.2. regexp host
5.4.3. host-alias
5.4.4. configures a deployment directory for virtual hosts
5.4.5. Resources
5.5. FAQ
5.5.1. java.lang.OutOfMemoryError: PermGen space
6. Application Server
6.1. Zope
6.2. JBoss - JBoss Enterprise Middleware
7. Web Server Optimization
7.1. ulimit
7.1.1. open files
7.2. khttpd
7.3. php.ini
7.3.1. Resource Limits
7.3.2. File Uploads
7.3.3. Session Shared
7.3.4. PATHINFO
7.4. APC Cache (php-apc - APC (Alternative PHP Cache) module for PHP 5)
7.5. Zend Optimizer
7.6. eaccelerator
8. varnish - a state-of-the-art, high-performance HTTP accelerator
8.1. Varnish Install
8.2. varnish utility
8.2.1. status
8.2.2. varnishadm
8.2.2.1. 清除緩存
8.2.3. varnishtop
8.2.4. varnishhist
8.2.5. varnishsizes
8.3. log file
8.4. Varnish Configuration Language - VCL
8.4.1. unset / set
8.5. example
9. Apache Traffic Server
9.1. Install
9.2. Configure
10. Cherokee
10.1. Installing Cherokee
11. Jetty
12. Other Web Server
12.1. Python SimpleHTTPServer
13. web 伺服器排名
13.1. HTTP狀態碼
14. HTTP2
14.1. Chrome

範例清單

1.1. Expires Examples
1.2. nginx expires
1.3. Example: valid_referers
1.4. Nginx + Tomcat
2.1. /etc/profile.d/java.sh
2.2. /etc/init.d/tomcat
2.3. Example /srv/apache-tomcat/conf
2.4. tomcat firewall
2.5. /etc/rc.d/init.d/www
3.1. index.php
3.2. autolamp.sh
3.3. R=301
3.4. mod_perl.conf
4.1. /etc/init.d/lighttpd
4.2. lighttpd compress
4.3. lighttpd expire
4.4. fastcgi.conf
4.5. Cache
5.1. explicit host in resin.conf
5.2. regexp host in resin.conf
5.3. host-alias in the resin.conf
5.4. host-alias in a /var/www/hosts/foo/host.xml
5.5. host-alias-regexp in the resin.conf
5.6. shared database in host
5.7. rewrite-dispatch
8.1. default.vcl