前提:
1、已配置好hosts文件且免密码登录
2、需要的yaml文件已上传到主控端
一、使用Ansible安装nginx
1、nginx.yaml文件
1 --- 2 - hosts: clong 3 remote_user: root 4 gather_facts: no 5 tasks: 6 # 安装epel源 7 - name: install epel-release repo 8 yum: name=epel-release state=present 9 # 安装libselinux-python 10 - name: install libselinux-python 11 yum: name=libselinux-python state=present 12 # 配置nginx最新稳定版源 13 - name: copy nginx.repo 14 copy: src=nginx.repo dest=/etc/yum.repos.d/nginx.repo 15 # 更新yum缓存 16 - name: update yum cache -1 17 command: yum clean all 18 - name: update yum cache -2 19 command: yum makecache 20 # 安装nginx 21 - name: install nginx 22 yum: name=nginx state=present 23 # 开启nginx 24 - name: start nginx 25 service: name=nginx state=started enabled=yes 26 # 复制nginx配置文件 27 - name: copy nginx conf 28 copy: src=nginx.conf dest=/etc/nginx/nginx.conf backup=yes force=yes 29 # 验证配置文件 30 - name: check nginx.conf 31 shell: /usr/sbin/nginx -t -c /etc/nginx/nginx.conf 32 # 删除默认的default.conf文件 33 - name: delete default.conf 34 file: path=/etc/nginx/conf.d/default.conf state=absent 35 # 复制www站点文件 36 - name: copy www conf 37 copy: src=www.conf dest=/etc/nginx/conf.d/www.conf backup=yes force=yes 38 notify: restart nginx 39 # 重启nginx 40 handlers: 41 - name: restart nginx 42 service: name=nginx state=restarted 43 # --syntax-check
2、nginx.conf文件
1 user nginx nginx; 2 worker_processes auto; 3 worker_cpu_affinity auto; 4 5 error_log /var/log/nginx/error.log warn; 6 pid /var/run/nginx.pid; 7 8 events { 9 use epoll; 10 multi_accept off; 11 accept_mutex off; 12 worker_connections 65535; 13 } 14 15 http { 16 include mime.types; 17 default_type application/octet-stream; 18 19 log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ 20 ‘$status $body_bytes_sent "$http_referer" ‘ 21 ‘"$http_user_agent" "$http_x_forwarded_for"‘; 22 23 access_log /var/log/nginx/access.log main; 24 25 server_names_hash_bucket_size 128; 26 client_body_timeout 15; 27 send_timeout 15; 28 large_client_header_buffers 4 32k; 29 client_max_body_size 8m; 30 client_header_buffer_size 128k; 31 client_header_timeout 15; 32 33 charset UTF-8; 34 server_tokens off; 35 36 sendfile on; 37 sendfile_max_chunk 512k; 38 39 tcp_nopush on; 40 tcp_nodelay on; 41 42 keepalive_timeout 60; 43 keepalive_requests 100000; 44 reset_timedout_connection on; 45 46 fastcgi_connect_timeout 300; 47 fastcgi_send_timeout 300; 48 fastcgi_read_timeout 300; 49 fastcgi_buffer_size 64k; 50 fastcgi_buffers 4 64k; 51 fastcgi_busy_buffers_size 128k; 52 fastcgi_temp_file_write_size 128k; 53 54 gzip on; 55 gzip_min_length 10240; 56 gzip_buffers 4 16k; 57 gzip_http_version 1.1; 58 gzip_proxied expired no-cache no-store private auth; 59 gzip_disable "MSIE [1-6]."; 60 gzip_comp_level 2; 61 gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss; 62 gzip_vary on; 63 64 open_file_cache max=102400 inactive=20s; 65 open_file_cache_valid 30s; 66 open_file_cache_min_uses 1; 67 open_file_cache_errors on; 68 69 include /etc/nginx/conf.d/*.conf; 70 71 }
3、www.conf文件
1 server { 2 listen 80; 3 server_name localhost; 4 5 location / { 6 root /usr/share/nginx/html; 7 index index.php index.html index.htm; 8 } 9 10 location ~ \.php { 11 root /usr/share/nginx/html; 12 fastcgi_pass 127.0.0.1:9000; 13 fastcgi_index index.php; 14 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 15 include fastcgi_params; 16 } 17 access_log /var/log/nginx/host.access.log main; 18 }
4、nginx.repo文件
1 [nginx] 2 name=nginx repo 3 baseurl=http://nginx.org/packages/centos/7/$basearch/ 4 gpgcheck=0 5 enabled=1
时间: 2024-10-08 01:27:32