歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

bash 腳本編程十九 Nginx自動部署

自動化部署達到以下幾個目的:

1.編譯

2.安裝

3.生成HTTPS 證書

4.配置

5.設置Ubuntu 服務

首先將Nginx的壓縮包解壓並放在工程目錄下,然後將要准備的的配置文件放在conf目錄下,還有作為service需要的啟動腳本文件nginx

目錄結構如下:

  1. # tree -L 2  
  2. tree -L 2  
  3. .  
  4. ├── conf  
  5. │   ├── agol.conf  
  6. │   └── nginx.conf  
  7. ├── install.sh  
  8. ├── install.sh~  
  9. ├── nginx  
  10. └── nginx-1.2.3  
  11.     ├── auto  
  12.     ├── CHANGES  
  13.     ├── CHANGES.ru  
  14.     ├── conf  
  15.     ├── configure  
  16.     ├── contrib  
  17.     ├── html  
  18.     ├── LICENSE  
  19.     ├── man  
  20.     ├── README  
  21.     └── src  
  22.   
  23. 8 directories, 10 files  
現在看一下install.sh腳本內容:
  1. #!/bin/bash   
  2.   
  3. source ../common/tool.sh  
  4.   
  5. installDpkg "libpcre3"  
  6. installDpkg "libpcre3-dev"  
  7. installDpkg "libssl-dev"  
  8. installDpkg "openssl"  
  9.   
  10. cd ./nginx-1.2.3  
  11. ./configure --prefix=/usr/nginx --with-http_ssl_module  
  12. make  
  13. make install  
  14.   
  15. cd ../  
  16.   
  17. cp ./nginx /etc/init.d/  
  18. update-rc.d nginx defaults  
  19.   
  20. cp -r ./conf/* /usr/nginx/conf/  
  21.   
  22. #generate ssl certificate-begin  
  23. cd /usr/nginx/conf  
  24. openssl genrsa -des3 -out server.key -passout pass:freebird 1024  
  25. openssl req -new -key server.key -out server.csr -passin pass:freebird -batch  
  26. cp server.key server.key.org  
  27. openssl rsa -in server.key.org -out server.key -passin pass:freebird  
  28. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  
  29.   
  30. cd -  
  31. #generate ssl certificate-end  
  32.   
  33. service nginx start  
  34.   
  35. cd ./nginx-1.2.3  
  36. make clean  
這裡要關注的是生成證書的時候使用批處理方式

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

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

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

nginx啟動腳本參考我的另一篇文章:http://www.linuxidc.com/Linux/2011-09/42144.htm

Copyright © Linux教程網 All Rights Reserved