Puppet 대량 관리 Nginx 서버
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
두 번 째 방식 은 createrepo 를 통 해 자신 만 의 YUM 소스 를 만 드 는 것 이다. 이런 방식 은 더욱 편안 하 다. 우 리 는 nginx 홈 페이지 에서 자신 에 게 맞 는 rpm 가방 을 다운로드 한 다음 에 자신의 YUM 소스 에 추가 할 수 있다. 자동화 운영 요구 가 엄격 한 맞 춤 형 환경 에서 절대 다수의 운영 학생 들 이 이런 방법 을 선택한다.여러분 은 이러한 방식 으로 nginx 를 설치 한 후에 소스 코드 가 Nginx 를 설치 하 는 것 보다 훨씬 편리 하 다 는 것 을 알 게 될 것 입 니 다. 예 를 들 어 nginx 를 실행 하 는 사용자 nginx: nginx, Nginx 의 로그 저장 은 자동 으로 / var / log / nginx 에 저 장 됩 니 다. 작업 디 렉 터 리 는 / etc / nginx 입 니 다. 이 점 은 소스 코드 컴 파일 로 설 치 된 nginx 와 차이 가 매우 큽 니 다. 실험 과정 에서 도 주의 하여 선별 하 시기 바 랍 니 다.
제 가 관심 이 있 는 것 은 ruby 버 전과 puppet 버 전 입 니 다. 결 과 는 다음 과 같 습 니 다.
[root@server manifests]# ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
[root@server manifests]# puppet -V
3.7.4
Puppet 의 설치 와 다른 초급 지식 점 은 생략 했 습 니 다. 저 는 파일 내용 을 직접 붙 였 습 니 다. / etc / uppet 의 파일 구 조 는 다음 과 같 습 니 다.
|-- auth.conf
|-- fileserver.conf
|-- manifests
| |-- nodes
| | |-- client.cn7788.com.pp
| | `-- test.cn7788.com.pp
| `-- site.pp
|-- modules
| `-- nginx
| |-- files
| |-- manifests
| | `-- init.pp
| `-- templates
| |-- nginx.conf.erb
| `-- nginx_vhost.conf.erb
`-- puppet.conf
site. pp 의 파일 내용 은 다음 과 같 습 니 다.
import "nodes/*.pp"
Package {
allow_virtual => false,
}
client. cn7788. com. pp 의 파일 내용 은 다음 과 같 습 니 다.
node 'client.cn7788.com' {
include nginx
nginx::vhost {'client.cn7788.com':
sitedomain => "client.cn7788.com" ,
rootdir => "client",
}
}
test. cn7788. com. pp 의 파일 내용 은 다음 과 같다.
node 'test.cn7788.com' {
include nginx
nginx::vhost {'test.cn7788.com':
sitedomain => "test.cn7788.com" ,
rootdir => "test",
}
}
/ etc / uppet / modules / nginx / manifests / init. pp 파일 내용 은 다음 과 같 습 니 다.
class nginx{
package{"nginx":
ensure =>present,
}
service{"nginx":
ensure =>running,
require =>Package["nginx"],
}
file{"nginx.conf":
ensure => present,
mode => 644,owner => root,group => root,
path => "/etc/nginx/nginx.conf",
content=> template("nginx/nginx.conf.erb"),
require=> Package["nginx"],
}
}
define nginx::vhost($sitedomain,$rootdir) {
file{ "/etc/nginx/conf.d/${sitedomain}.conf":
content => template("nginx/nginx_vhost.conf.erb"),
require => Package["nginx"],
}
}
/ etc / uppet / modules / nginx / templates / nginx. conf. erb 파일 내용 은 다음 과 같 습 니 다.
user nginx;
worker_processes 8;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 51200;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
/etc/puppet/modules/nginx/templates/nginx_vhost. conf. erb 파일 내용 은 다음 과 같 습 니 다.
server {
listen 80;
server_name <%= sitedomain %>;
access_log /var/log/nginx/<%= sitedomain %>.access.log;
location / {
root /var/www/<%= rootdir %>;
index index.php index.html index.htm;
}
}
마지막 으로 우 리 는 노드 이름 이 client. cn7788. com 과 test. cn7788. com 인 기계 검증 효 과 를 볼 수 있 습 니 다. 명령 은 다음 과 같 습 니 다.
puppet agent --test --server server.cn7788.com
부분 실행 명령 결 과 는 다음 과 같 습 니 다.
Info: Computing checksum on file /etc/nginx/nginx.conf
Info: FileBucket got a duplicate file {md5}f7984934bd6cab883e1f33d5129834bb
Info: /Stage[main]/Nginx/File[nginx.conf]: Filebucketed /etc/nginx/nginx.conf to puppet with sum f7984934bd6cab883e1f33d5129834bb
Notice: /Stage[main]/Nginx/File[nginx.conf]/content: content changed '{md5}f7984934bd6cab883e1f33d5129834bb' to '{md5}6f57d21ca18f7256ef6c6ccd068505dc'
Notice: Finished catalog run in 15.47 seconds
여러분 이 다운로드 하고 읽 을 수 있 도록 이 모듈 은 제 security 창고 에 수록 되 어 있 습 니 다. 주 소 는?https://github.com/yuhongchun/security/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.