bash 脚本编程十九 Nginx自动部署

来源:互联网 发布:战龙三国旗帜进阶数据 编辑:程序博客网 时间:2024/06/05 18:30

自动化部署达到以下几个目的:

1.编译

2.安装

3.生成HTTPS 证书

4.配置

5.设置Ubuntu 服务


首先将Nginx的压缩包解压并放在工程目录下,然后将要准备的的配置文件放在conf目录下,还有作为service需要的启动脚本文件nginx

目录结构如下:

# tree -L 2tree -L 2.├── conf│   ├── agol.conf│   └── nginx.conf├── install.sh├── install.sh~├── nginx└── nginx-1.2.3    ├── auto    ├── CHANGES    ├── CHANGES.ru    ├── conf    ├── configure    ├── contrib    ├── html    ├── LICENSE    ├── man    ├── README    └── src8 directories, 10 files


现在看一下install.sh脚本内容:

#!/bin/bash source ../common/tool.shinstallDpkg "libpcre3"installDpkg "libpcre3-dev"installDpkg "libssl-dev"installDpkg "openssl"cd ./nginx-1.2.3./configure --prefix=/usr/nginx --with-http_ssl_modulemakemake installcd ../cp ./nginx /etc/init.d/update-rc.d nginx defaultscp -r ./conf/* /usr/nginx/conf/#generate ssl certificate-begincd /usr/nginx/confopenssl genrsa -des3 -out server.key -passout pass:freebird 1024openssl req -new -key server.key -out server.csr -passin pass:freebird -batchcp server.key server.key.orgopenssl rsa -in server.key.org -out server.key -passin pass:freebirdopenssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crtcd -#generate ssl certificate-endservice nginx startcd ./nginx-1.2.3make clean

这里要关注的是生成证书的时候使用批处理方式

openssl genrsa 命令用到 -passout pass:freebird 避免提示输入口令

openssl req 命令用到 -passin pass:freebird -batch 提供口令,避免输入一堆其他信息

openssl rsa 命令也用到 -passin pass:freebird 提供口令


nginx启动脚本参考我的另一篇文章:

http://blog.csdn.net/sheismylife/article/details/6744394



原创粉丝点击