itwiki:nginx-practice

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
itwiki:nginx-practice [2024/01/03 11:50] – [Nginx + 反向代理 + SSL] ovwx@live.ioitwiki:nginx-practice [2024/01/03 12:09] (当前版本) – [Nginx 实践] ovwx@live.io
行 1: 行 1:
-====== Nginx 实践 ======+====== Nginx 基本 ======
  
 > for Nginx v1.20.1 or Later > for Nginx v1.20.1 or Later
行 44: 行 44:
  
  
- 
-===== Nginx + PHP-fpm + SSL ===== 
- 
-==== 预装PHP及PHP-FPM环境 ==== 
- 
-==== 配置PHP fastcgi 转发 ==== 
- 
-<file site-php-fpm.conf> 
- 
-server { 
-    listen       443 ssl http2; 
-    listen       [::]:443 ssl http2; 
-    server_name www.c.ezua.com; 
-    charset utf-8; 
- 
-    # ssl配置 
-    ssl_protocols TLSv1.1 TLSv1.2; 
-    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
-    ssl_ecdh_curve secp384r1; 
-    ssl_prefer_server_ciphers on; 
-    ssl_session_cache shared:SSL:10m; 
-    ssl_session_timeout 10m; 
-    ssl_session_tickets off; 
-    ssl_certificate /etc/letsencrypt/live/www.c.ezua.com/fullchain.pem; 
-    ssl_certificate_key /etc/letsencrypt/live/www.c.ezua.com/privkey.pem; 
- 
-    #root /var/www/html/; 
-    root /var/www/dokuwiki/; 
-    index index.php; 
-    location ~ \.(php|php5).* { 
-        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
-        fastcgi_pass unix:/var/run/php-fpm/www.sock; 
-        include fastcgi_params; 
-    } 
- 
-    location / { 
- 
-    } 
- 
-} 
- 
-</file> 
- 
-在配置方面与普通的反代没有区别,'' fastcgi_pass '' 除了可以用unix sockets方式转发外,还可以使用 ''%%tcp://127.0.0.1:9000%% '' 的形式配置,要看 ''php-fpm.conf'' 配置文件里面监听的是socket还是端口 
- 
-===== Nginx + 负载均衡 ===== 
- 
-暂未涉及 
- 
-===== Nginx + 正向代理 ===== 
- 
-将 Nginx 作为一个HTTP代理服务器使用 
- 
-==== 最小化配置 ==== 
- 
-<code> 
- 
-# Proxy-serv.conf 
- 
-server { 
- 
-    listen 18081; 
-    server_name _; 
-    # other settings for example ssl 
-     
-    # 代理CONNECT连接请求,代理443及503端口 
-    proxy_connect; 
-    proxy_connect_allow 443 563; 
-    proxy_connect_connect_timeout 10s; 
-    proxy_connect_read_timeout 10s; 
-    proxy_connect_send_timeout 10s; 
-     
-    location / { 
-     
-        resolver 8.8.8.8; #DNS Server used 
-        proxy_pass $scheme://$host$request_uri; 
-        proxy_set_header HOST $host; 
-         
-        #proxy_cache STATIC; 
-        #proxy_cache_valid 200 1d; 针对响应码为200的应答进行缓存,缓存时间一天 
-        #proxy_cache_use_stale  error timeout invalid_header updating http_500 http_502 http_503 http_504; 
-         
-        #proxy_buffers 256 4k; 
-        #proxy_max_temp_file_size 0k; 
-        #proxy_connect_timeout 30; 
-        #proxy_send_timeout 60; 
-        #proxy_read_timeout 60; 
-        #proxy_next_upstream error timeout invalid_header http_502; 
-         
-    } 
- 
-    error_page 500 502 503 504 /50x.html; 
-     
-    location = /50x.html { 
-        root /var/www/html; 
-    } 
-} 
-</code> 
- 
-注意:被注释掉的部分都是可以不需要的,是配置代理服务器的一般参数 
- 
-==== 测试正向代理 ==== 
- 
-设置代理,如须在系统中一直启用,须在启动文件,诸如:''~/.bashrc''等文件中添加以下指令 
-<code> 
-  export http_proxy=$IP:$PORT 
-  export https_proxy=$IP:$PORT 
-</code> 
- 
-使用代理下载数据或者获取参数 
-<code> 
-$ curl --proxy=$IP:$PORT request_url 
-</code> 
-注:如果命令中包含引号,&等符号,须用双引号(单引号)将整个参数包裹,或者进行转义,否则命令会被截断。至于包裹符号用单引号还是双引号,取决于命令中包含的符号,如果命令中包含单引号,则用双引号包裹,反之则用单引号包裹。 
  
 ===== Nginx location 及访问控制 ===== ===== Nginx location 及访问控制 =====
行 208: 行 94:
 #注意:密码不要超过8位,否则可能无法工作。也因此在有条件的情况下,不要使用BASIC认证方式 #注意:密码不要超过8位,否则可能无法工作。也因此在有条件的情况下,不要使用BASIC认证方式
 </code> </code>
 +
 +
 +===== 其他范例 =====
 +
 +  * 用作代理服务器 [[itwiki:nginx-proxy|NGINX 代理]]
 +  * 搭建 dokuwiki [[itwiki:nginx-doku|搭建DOKUWIKI ]]
 +  * 用于支持PHP的配置 [[itwiki:nginx-php|支持PHP ]]
  
  
  • itwiki/nginx-practice.1704279024.txt.gz
  • 最后更改: 2024/01/03 11:50
  • ovwx@live.io