bash 脚本编程十九 Nginx自动部署
bash 脚本编程十九 Nginx自动部署
自动化部署达到以下几个目的:
1.编译
2.安装
3.生成HTTPS 证书
4.配置
5.设置Ubuntu 服务
首先将Nginx的压缩包解压并放在工程目录下,然后将要准备的的配置文件放在conf目录下,还有作为service需要的启动脚本文件nginx
目录结构如下:
- # tree -L 2
- tree -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
- └── src
- 8 directories, 10 files
- #!/bin/bash
- source ../common/tool.sh
- installDpkg "libpcre3"
- installDpkg "libpcre3-dev"
- installDpkg "libssl-dev"
- installDpkg "openssl"
- cd ./nginx-1.2.3
- ./configure --prefix=/usr/nginx --with-http_ssl_module
- make
- make install
- cd ../
- cp ./nginx /etc/init.d/
- update-rc.d nginx defaults
- cp -r ./conf/* /usr/nginx/conf/
- #generate ssl certificate-begin
- cd /usr/nginx/conf
- openssl genrsa -des3 -out server.key -passout pass:freebird 1024
- openssl req -new -key server.key -out server.csr -passin pass:freebird -batch
- cp server.key server.key.org
- openssl rsa -in server.key.org -out server.key -passin pass:freebird
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- cd -
- #generate ssl certificate-end
- service nginx start
- cd ./nginx-1.2.3
- make clean
openssl genrsa 命令用到 -passout pass:freebird 避免提示输入口令
openssl req 命令用到 -passin pass:freebird -batch 提供口令,避免输入一堆其他信息
openssl rsa 命令也用到 -passin pass:freebird 提供口令
nginx启动脚本参考我的另一篇文章:
评论暂时关闭