发现一个修改nginx.conf配置文件的python开源工具,挺好用的,分享一下:
这个工具可以读取,修改以及删除nginx的配置项,然后重新生成配置文件。这其中保留了大部分原始配置文件格式,有一些会改变;所以不保证新生成的文件格式完全一致,还需要用肉眼比较一下哦。
基本用法:
from pynginxconfig import NginxConfig
nc = NginxConfig()
nc.loadf('/etc/nginx/nginx.conf')
##########################################
# operate with nc
# nc.get(...)
# nc.set(...)
# nc.append(...)
# nc.remove(...)
##########################################
nc.savef('/etc/nginx/nginx.new.conf')
下面以一个例子来说明如何具体访问nginx.conf对象。
/etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
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;
keepalive_timeout 65;
upstream server_www1 {
server www1.com:7054;
}
server {
listen *:10000 ssl;
ssl_certificate /etc/nginx/server.pem;
ssl_certificate_key /etc/nginx/serverkey.pem;
location / {
auth_request /auth-proxy;
error_page 401 403 /404.html;
proxy_pass http://server_www1/;
}
location = /auth-proxy {
internal;
proxy_