最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx編譯安裝及常用參數(shù)詳解

 更新時(shí)間:2023年01月11日 15:15:35   作者:焱黎  
這篇文章主要介紹了nginx編譯安裝及常用參數(shù)詳解,一種是基于ansible role實(shí)現(xiàn)編譯安裝nginx以及編譯安裝參數(shù)詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1 基于ansible role實(shí)現(xiàn)編譯安裝nginx

利用ansible控制端10.0.0.8機(jī)器,在被控制端10.0.0.18上部署nginx

首先打通ansible控制端與被控制端的基于key驗(yàn)證

[root@ansible-rocky ~]$ ssh-copy-id 10.0.0.18
[root@ansible-rocky ~]$ ssh 10.0.0.18
Last login: Wed Jan 11 12:18:28 2023 from 10.0.0.8
[root@rocky8 ~]$ hostname -I
10.0.0.18

然后創(chuàng)建nginx項(xiàng)目目錄實(shí)現(xiàn)基于role的部署任務(wù)

#nginx role項(xiàng)目目錄總覽
[root@ansible-rocky opt]$ tree /opt
/opt
├── hosts_nginx
├── nginx_role.yml
└── roles
    └── nginx
        ├── handlers
        │   └── main.yml
        ├── tasks
        │   └── main.yml
        └── templates
            ├── nginx.conf.j2
            └── nginx.service.j2

#task文件
[root@ansible-rocky roles]$ cat nginx/tasks/main.yml 
- name: add group nginx
  group: name=nginx system=yes gid=80

- name: add user nginx
  user: name=nginx group=nginx uid=80 system=yes shell="/sbin/nologin" create_home=no

- name: install dependent package
  yum: name={{item}} state=latest
  loop:
    - gcc
    - make
    - pcre-devel
    - openssl-devel
    - zlib-devel
    - perl-ExtUtils-Embed

- name: get nginx source
  unarchive:
    src: "{{ url }}"
    dest: "/usr/local/src"
    remote_src: yes

- name: compile and install
  shell:
    cmd: "./configure --prefix={{install_dir}} --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module && make && make install"
    chdir: "/usr/local/src/nginx-{{ version }}"
    creates: "{{install_dir}}/sbin/nginx"

- name: config file
  template:
    src: nginx.conf.j2
    dest: "{{install_dir}}/conf/nginx.conf"
    owner: nginx
    group: nginx
  notify: restart service
  tags:
    - config

- name: create directory
  file:
    path: "{{install_dir}}/conf/conf.d"
    state: directory
    owner: nginx
    group: nginx

- name: change install directory owner
  file:
    path: "{{install_dir}}"
    owner: nginx
    group: nginx
    recurse: yes

- name: copy service file
  template:
    src: nginx.service.j2
    dest: "/lib/systemd/system/nginx.service"

- name: check config
  shell:
    cmd: "{{install_dir}}/sbin/nginx -t"
  register: check_nginx_config
  changed_when:
    - check_nginx_config.stdout.find('successful')
    - false

- name: start service
  systemd:
    daemon_reload: yes
    name: nginx.service
    state: started
    enabled: yes
      
#創(chuàng)建handler文件
[root@ansible-rocky roles]$ cat nginx/handlers/main.yml 
- name: restart service
  service:
    name: nginx
    state: restarted

#裝備兩個(gè)template文件
[root@ansible-rocky roles]$ cat nginx/templates/nginx.conf.j2 
user nginx;
worker_processes  {{ ansible_processor_vcpus*2 }};
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';
    # logging                                                                                          
    access_log {{install_dir}}/logs/access-json.log access_json;
    error_log {{install_dir}}/logs/error.log warn;

    keepalive_timeout  65;
    include {{install_dir}}/conf/conf.d/*.conf;
}
[root@ansible-rocky roles]$ cat nginx/templates/nginx.service.j2 
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile={{install_dir}}/logs/nginx.pid
ExecStartPre=/bin/rm -f {{install_dir}}/logs/nginx.pid
ExecStartPre={{install_dir}}/sbin/nginx -t
ExecStart={{install_dir}}/sbin/nginx
ExecReload=/bin/kill -s HUP \$MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true                                                                                        
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

#在hosts文件中定義wensrvs需要的變量
[root@ansible-rocky opt]$ cat hosts_nginx 
[websrvs]
10.0.0.18

[websrvs:vars]
version="1.22.1"
url="http://nginx.org/download/nginx-{{ version }}.tar.gz"
install_dir="/apps/nginx"


#在playbook中調(diào)用角色
[root@ansible-rocky opt]$ cat nginx_role.yml 
- hosts: websrvs
  remote_user: root

  roles:
    - nginx
    
#運(yùn)行playbook
[root@ansible-rocky opt]$ ansible-playbook -i hosts_nginx nginx_role.yml 

PLAY [websrvs] ****************************************************************************************

TASK [Gathering Facts] ********************************************************************************
ok: [10.0.0.18]

TASK [nginx : add group nginx] ************************************************************************
changed: [10.0.0.18]

TASK [nginx : add user nginx] *************************************************************************
changed: [10.0.0.18]

TASK [nginx : install dependent package] **************************************************************
changed: [10.0.0.18] => (item=gcc)
ok: [10.0.0.18] => (item=make)
changed: [10.0.0.18] => (item=pcre-devel)
changed: [10.0.0.18] => (item=openssl-devel)
ok: [10.0.0.18] => (item=zlib-devel)
changed: [10.0.0.18] => (item=perl-ExtUtils-Embed)

TASK [nginx : get nginx source] ***********************************************************************
changed: [10.0.0.18]

TASK [nginx : compile and install] ********************************************************************
changed: [10.0.0.18]

TASK [nginx : config file] ****************************************************************************
changed: [10.0.0.18]

TASK [nginx : create directory] ***********************************************************************
changed: [10.0.0.18]

TASK [nginx : change install directory owner] *********************************************************
changed: [10.0.0.18]

TASK [nginx : copy service file] **********************************************************************
changed: [10.0.0.18]

TASK [nginx : check config] ***************************************************************************
ok: [10.0.0.18]

TASK [nginx : start service] **************************************************************************
changed: [10.0.0.18]

RUNNING HANDLER [nginx : restart service] *************************************************************
changed: [10.0.0.18]

PLAY RECAP ********************************************************************************************
10.0.0.18                  : ok=13   changed=11   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

在被控制端檢查是否安裝完成

2 編譯安裝參數(shù)詳解

編譯安裝參數(shù)示例:

./configure --prefix={{install_dir}} \ 
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

在編譯安裝參數(shù)中--with開(kāi)頭的選項(xiàng)默認(rèn)是禁用的,想要使用的話就需要在編譯的時(shí)候加上;without開(kāi)頭的選項(xiàng)默認(rèn)是開(kāi)啟的,不想要啟用此模塊的話就需要在編譯的時(shí)候加上。

通用配置選項(xiàng)參數(shù):

選項(xiàng)解釋說(shuō)明
--prefix=<path>Nginx安裝的根路徑,所有其它路徑都要依賴該選項(xiàng)
--sbin-path=<path>指定nginx二進(jìn)制文件的路徑,沒(méi)指定的話 這個(gè)路徑依賴<prefix>選項(xiàng)
--conf-path=<path>命令行未指定配置文件,將會(huì)通過(guò)這里指定的路徑加載配置文件
--error-log-path=<path>寫入錯(cuò)誤日志文件地址,默認(rèn)值:<prefix>/logs/error.log。安裝后,可以使用 nginx.conf 中的 error_log 指令更改。
--pid-path=<path>nginx master進(jìn)程pid寫入的文件位置,默認(rèn)值:<prefix>/logs/nginx.pid。安裝后,可以使用 nginx.conf 中的 pid 指令更改。
--lock-path=<path>共享存儲(chǔ)器互斥鎖文件路徑
--user=<user>nginx 運(yùn)行用戶。默認(rèn)值:nobody。安裝后,可以使用 nginx.conf 中的 user 指令更改。
--group=<group>nginx 運(yùn)行組。默認(rèn)值:--user 指定的值。安裝后,可以使用 nginx.conf 中的 user 指令更改。

默認(rèn)開(kāi)啟的模塊

選項(xiàng)解釋說(shuō)明
--without-http_gzip_module禁用 ngx_http_gzip_module 模塊
--without-http_userid_module禁用 ngx_http_userid_module 模塊,該模塊設(shè)置適用于客戶端標(biāo)識(shí)的 cookie
--without-http_access_module禁用 ngx_http_access_module 模塊,該模塊允許限制對(duì)某些客戶端地址的訪問(wèn)
--without-http_rewrite_module禁用 URL 轉(zhuǎn)發(fā)(rewrite)
--without-http_proxy_module禁用 HTTP 服務(wù)器代理(proxy)模塊
--without-http-cache禁用 HTTP 緩存

默認(rèn)未開(kāi)啟模塊

選項(xiàng)解釋說(shuō)明
--with-http_ssl_module啟用 HTTPS 協(xié)議支持,需要 OpenSSL 庫(kù)。默認(rèn)情況下未構(gòu)建此模塊
--with-http_v2_module啟用 HTTP/2 協(xié)議支持。默認(rèn)情況下未構(gòu)建此模塊。
--with-http_realip_module啟用 ngx_http_realip_module 模塊的功能,該模塊將客戶端地址更改為在指定的 "header " 字段中發(fā)送的地址。默認(rèn)情況下未構(gòu)建此模塊
--with-http_sub_module啟用 ngx_http_sub_module 模塊,該模塊通過(guò)將一個(gè)指定的字符串替換為另一個(gè)指定的字符串來(lái)修改響應(yīng)。默認(rèn)情況下未構(gòu)建此模塊
--with-http_gzip_static_module啟用 ngx_http_gzip_static_module 模塊,該模塊支持發(fā)送擴(kuò)展名為 “.gz” 的預(yù)壓縮文件,而不是常規(guī)文件。默認(rèn)情況下未構(gòu)建此模塊
--with-http_auth_request_module啟用 ngx_http_auth_request_module 模塊,該模塊基于子請(qǐng)求的結(jié)果實(shí)現(xiàn)客戶端授權(quán)。默認(rèn)情況下未構(gòu)建此模塊
--with-http_stub_status_module啟用 ngx_http_stub_status_module 模塊,該模塊提供對(duì)基本狀態(tài)信息的訪問(wèn)。默認(rèn)情況下未構(gòu)建此模塊
--add-module=path啟用外部模塊
--add-dynamic-module=path啟用外部動(dòng)態(tài)模塊
--modules-path=pathnginx 動(dòng)態(tài)模塊的目錄。默認(rèn)值:<prefix>/modules目錄

perl模塊相關(guān)選項(xiàng)參數(shù)

選項(xiàng)解釋說(shuō)明
--without-pcre禁用PCRE庫(kù)
--with-pcre強(qiáng)制使用PCRE庫(kù)

郵件模塊相關(guān)配置選項(xiàng)參數(shù)

選項(xiàng)解釋說(shuō)明
--with-mail激活POP3/IMAP4/SMTP代理模塊,默認(rèn)未激活
--with-mail_ssl_module允許ngx_mail_ssl_module模塊這個(gè)模塊使得POP3/IMAP/SMTP可以使用SSL/TLS.配置已經(jīng)定義了HTTP SSL模塊,但是不支持客戶端證書檢測(cè)
--without-mail_pop3_module啟用mail模塊后,單獨(dú)禁用pop3模塊
--without-mail_imap_module啟用mail模塊后,單獨(dú)禁用imap模塊
--without-mail_smtp_module啟用mail模塊后,單獨(dú)禁用smtp模塊
--without-http完全禁用http模塊,如果只想支持mall,可以使用此項(xiàng)設(shè)置
--with-openssl=DIR設(shè)定OpenSSL庫(kù)文件路徑

stream模塊相關(guān)參數(shù)

選項(xiàng)解釋說(shuō)明
--with-stream開(kāi)啟stream模塊
--with-stream_ssl_module啟用 stream 模塊的 SSL/TLS 協(xié)議支持。構(gòu)建和運(yùn)行此模塊需要 OpenSSL 庫(kù)。默認(rèn)情況下未構(gòu)建此模塊
--with-stream_realip_module啟用 ngx_stream_realip_module 模塊的功能,該模塊將客戶端地址更改為 PROXY 協(xié)議標(biāo)頭中發(fā)送的地址。默認(rèn)情況下未構(gòu)建此模塊
--without-stream_access_module禁用 ngx_stream_access_module 模塊,該模塊允許限制對(duì)某些客戶端地址的訪問(wèn)

相關(guān)文章

  • 利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器

    利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器

    本文主要介紹了利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Nginx+FastDFS搭建圖片服務(wù)器的方法實(shí)現(xiàn)

    Nginx+FastDFS搭建圖片服務(wù)器的方法實(shí)現(xiàn)

    這篇文章主要介紹了Nginx+FastDFS搭建圖片服務(wù)器的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Nginx實(shí)現(xiàn)會(huì)話保持的兩種方式

    Nginx實(shí)現(xiàn)會(huì)話保持的兩種方式

    在我們做Nginx負(fù)載均衡的時(shí)候經(jīng)常會(huì)遇到會(huì)話保持的問(wèn)題,為了保證同一用戶session會(huì)被分配到同一臺(tái)服務(wù)器上,這時(shí)就需要會(huì)話保持,本文介紹了兩種方法,感興趣的可以了解一下
    2022-03-03
  • Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程

    Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程

    這篇文章主要介紹了Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程,這里使用到了FastCGI和php-fpm,需要的朋友可以參考下
    2015-12-12
  • Windows下Nginx安裝配置教程

    Windows下Nginx安裝配置教程

    這篇文章主要為大家介紹了Windows下Nginx安裝配置的詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Nginx如何實(shí)現(xiàn)對(duì)城市以及指定IP的訪問(wèn)限制

    Nginx如何實(shí)現(xiàn)對(duì)城市以及指定IP的訪問(wèn)限制

    本文介紹了如何使用Nginx代理MySQL連接并限制可訪問(wèn)IP,以及如何通過(guò)第三方模塊ngx_http_geoip2_module實(shí)現(xiàn)基于國(guó)家/城市訪問(wèn)限制
    2025-03-03
  • Nginx搭建https服務(wù)器教程

    Nginx搭建https服務(wù)器教程

    這篇文章主要為大家詳細(xì)介紹了Nginx搭建https服務(wù)器教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Nginx文件已經(jīng)存在全局反向代理問(wèn)題排查記錄

    Nginx文件已經(jīng)存在全局反向代理問(wèn)題排查記錄

    反向代理除了實(shí)現(xiàn)負(fù)載均衡之外,還提供如緩存來(lái)減少上游服務(wù)器的壓力,下面這篇文章主要給大家介紹了關(guān)于Nginx文件已經(jīng)存在全局反向代理問(wèn)題排查的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Nginx簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Nginx簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Nginx是一個(gè)跨平臺(tái)的Web服務(wù)器,可運(yùn)行在Linux、FreeBSD、Solaris、AIX、Mac OS、Windows等操作系統(tǒng)上,并且它還可以使用當(dāng)前操作系統(tǒng)特有的一些高效API來(lái)提高自己的性能
    2017-08-08
  • nginx中的proxy_redirect的使用案例詳解

    nginx中的proxy_redirect的使用案例詳解

    proxy_redirect 該指令用來(lái)修改被代理服務(wù)器返回的響應(yīng)頭中的Location頭域和“refresh”頭域,這篇文章主要介紹了nginx中的proxy_redirect的使用案例詳解,需要的朋友可以參考下
    2024-06-06

最新評(píng)論

闸北区| 昭通市| 新密市| 治多县| 东乡族自治县| 隆化县| 应城市| 桂阳县| 马关县| 汕尾市| 治县。| 罗源县| 丁青县| 越西县| 临朐县| 广平县| 佛冈县| 金昌市| 北碚区| 兴化市| 金乡县| 沈阳市| 漳平市| 石柱| 西充县| 屏东县| 济源市| 丽江市| 门源| 杨浦区| 上杭县| 新民市| 天镇县| 浮山县| 青龙| 名山县| 潜山县| 仪征市| 饶阳县| 双柏县| 庐江县|