. ${CONF_DIR}/web_server

Import global variables for web server
以debian系统为例,存储web应用的路径为HTTPD_SERVERROOT(/opt/www),存储文档的路径为HTTPD_DOCUMENTROOT(‘/var/www/html’),守护用户和组都为’www-data’。

# Daemon user.
export HTTPD_USER='www-data'
export HTTPD_GROUP='www-data'

nginx特有设定
nginx配置文件在/etc/nginx中,日志在/var/log/nginx中,临时文件在/var/lib/nginx_tmp_client_body中,

# Configuration files
export HTTPD_CONF_ROOT='/etc/nginx'
# Log directory.
export NGINX_LOG_DIR='/var/log/nginx'
# Directory for storing temporary files holding client request bodies.
export NGINX_CLIENT_BODY_TEMP_PATH='/var/lib/nginx_tmp_client_body'

配置文件放置路径

export HTTPD_CONF_DIR_AVAILABLE_CONF="${HTTPD_CONF_ROOT}/conf-available"
export HTTPD_CONF_DIR_ENABLED_CONF="${HTTPD_CONF_ROOT}/conf-enabled"


# Directory used to store all sites. Note: not loaded by default.
export HTTPD_CONF_DIR_AVAILABLE_SITES="${HTTPD_CONF_ROOT}/sites-available"
# Directory used to store site config files which will be loaded by default.
# Usually we just create a symbol link to file under ${HTTPD_CONF_DIR_AVAILABLE_SITES}
export HTTPD_CONF_DIR_ENABLED_SITES="${HTTPD_CONF_ROOT}/sites-enabled"


export NGINX_CONF="${HTTPD_CONF_ROOT}/nginx.conf"
export NGINX_CONF_SITE_DEFAULT="${HTTPD_CONF_DIR_AVAILABLE_SITES}/00-default.conf"
export NGINX_CONF_SITE_DEFAULT_SSL="${HTTPD_CONF_DIR_AVAILABLE_SITES}/00-default-ssl.conf"
export NGINX_CONF_TMPL_DIR="${HTTPD_CONF_ROOT}/templates"
export NGINX_MIME_TYPES="${HTTPD_CONF_ROOT}/mime.types"

functions/web_server.sh

web_server_config函数为HTTPD_SERVERROOT和HTTPD_DOCUMENTROOT创建目录,如果web server使用的是nginx,则调用nginx.sh,然后运行其中的nginx_config函数,在运行web_server_extra函数。

web_server_config() {# Create required directories[ -d ${HTTPD_SERVERROOT} ] || mkdir -p ${HTTPD_SERVERROOT} >> ${INSTALL_LOG} 2>&1[ -d ${HTTPD_DOCUMENTROOT} ] || mkdir -p ${HTTPD_DOCUMENTROOT} >> ${INSTALL_LOG} 2>&1if [ X"${WEB_SERVER}" == X'NGINX' ]; then. ${FUNCTIONS_DIR}/nginx.shcheck_status_before_run nginx_configcheck_status_before_run web_server_extrafiif [ X"${IREDMAIL_USE_PHP}" == X'YES' ]; then. ${FUNCTIONS_DIR}/php.shcheck_status_before_run php_configfiecho 'export status_web_server_config="DONE"' >> ${STATUS_FILE}
}

web_server_extra函数创建robots.txt文件,默认将主页重定向到webmail。如果使用ROUNDCUBE,设置url为/mail/;如果使用SOGO,设置url为/SOGo/。

web_server_extra() {# Create robots.txt.if [ ! -e ${HTTPD_DOCUMENTROOT}/robots.txt ]; thencat >> ${HTTPD_DOCUMENTROOT}/robots.txt <<EOF
User-agent: *
Disallow: /
EOFfi# Redirect home page to webmail by defaultif [ ! -e ${HTTPD_DOCUMENTROOT}/index.html ]; thenif [ X"${USE_ROUNDCUBE}" == X'YES' ]; thenecho '<html><head><meta HTTP-EQUIV="REFRESH" content="0; url=/mail/"></head></html>' > ${HTTPD_DOCUMENTROOT}/index.htmlelif [ X"${USE_SOGO}" == X'YES' ]; thenecho '<html><head><meta HTTP-EQUIV="REFRESH" content="0; url=/SOGo/"></head></html>' > ${HTTPD_DOCUMENTROOT}/index.htmlfifi# Add alias for web server daemon useradd_postfix_alias ${HTTPD_USER} ${SYS_USER_ROOT}echo 'export status_web_server_extra="DONE"' >> ${STATUS_FILE}
}

functions/nginx.sh

从iRedMail 创建web服务学习Nginx相关推荐

  1. apache-cxf 使用_使用Apache CXF进行Web服务学习

    apache-cxf 使用 在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我认为标准任务(例如创建客户端,创建Web服务等)非常简单,如果遇到问题,有足够的资源. ...

  2. 使用Apache CXF进行Web服务学习

    在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我觉得创建客户端,创建Web服务等标准任务非常简单,如果遇到问题,有足够的资源. 但是对于Web服务,这是一项琐碎的 ...

  3. 手把手教你在.NET中创建Web服务

    最近发现在.NET平台下使用Web服务还是很简单的. 下面举个在.NET平台下创建Web服务的简单例子.首先用Visul Studio .Net创建一个C# 项目Asp.Net Web服务程序,源代码 ...

  4. LabVIEW创建Web服务

    LabVIEW创建Web服务 在LabVIEW项目中开发Web服务,组合并配置构成Web服务的VI和其他文件.按照下列步骤创建一个Web服务项目和两个HTTP方法VI. 创建一个组织Web服务文件的L ...

  5. 综合架构web服务之nginx详解

    文章目录 nginx 服务配置详细介绍 关于作者 前言 一.nginx web 入门简介 1.1 什么是nginx 1.2 常见的网站服务 1.3 nginx 网站服务特点 1.4 网站页面访问原理 ...

  6. Web服务之Nginx浅析

    一.Nginx 简介: nginx [engine x]是Igor Sysoev编写的一个高性能的HTTP和反向代理服务器,另外它也可以作为邮件代理服务器. 在大多数情况下都是用来做静态web服务器和 ...

  7. nginx作为web服务以及nginx.conf详解

    Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...

  8. Web服务器之Nginx介绍

    一.Nginx简介 Nginx (engine x) 是一个高性能的Web和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服器.Nginx处理高并发能力是十分强大的,能经受高负载的考 ...

  9. 基于使用学习排序算法的Web服务学习的个性化的决策战略

    摘要----为了从类似的服务列表中进行功能上的选择,用户往往需要根据多个QoS准则做出他们的决定,它们需要对目标服务.在这个过程中,不同的用户可能遵循不同的决策策略,有些是补偿性的,在这个补偿中在所有 ...

  10. 【VMCloud云平台】SCVMM配置(九)创建Web服务模板

    继续上一篇完成SCVMM创建SQL服务模板后,本篇将继续讲述云平台中的第一个组件--SCVMM创建第一个Web服务模板(即下图中的SCVMM01,蓝色为未实现,绿色为计划中,红色为实施中). 1. 登 ...

最新文章

  1. lstm PTB语言数据集的处理
  2. [转] Linux GCC 编译使用
  3. MVC %%与%=%与区别
  4. python中如将一个文件夹中的多张图片都进程序?
  5. Aria2 使用手札
  6. 云南大学网络课程作业计算机,云南大学842计算机程序设计考研复习经验
  7. Request_获取请求头数据
  8. 《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent
  9. JavaScript ECMA
  10. 计算机专业做产品,非计算机专业如何做产品经理?
  11. 漫谈 Gentoo 中文社区的建设
  12. “流量注入”***模式的探讨
  13. 仿生软体机器人就业咋样_SRT近亿元B轮融资,中国软体机器人技术从空白到全球领先...
  14. python网管系统_Python学员作品-网吧管理系统
  15. 使用微信小程序生成海报
  16. hive 添加字段,字段值错位问题
  17. linux sd卡 测试软件,怎么检测SD卡内存卡是否被扩容过?
  18. tlq_ver.dat文件不存在
  19. python cox模型_Cox模型的基本概念_Python数据分析系列视频课程--玩转统计模型_数据挖掘与分析视频-51CTO学院...
  20. 【数据结构】栈的简单理解以及对栈的基本操作

热门文章

  1. 【信道编码/Channel Coding】纠错编码与差错控制
  2. 矩阵迹的几何意义是什么?
  3. python爬虫怎么保存图片_使用Python爬虫怎么将网页图片保存到本地
  4. 查看Hadoop的版本号
  5. java web从入门到精通 明日科技 源码_Java Web 从入门到精通(明日科技)
  6. python 修改pdf_使用Python编辑PDF
  7. 工具 - 文本比较/对比 - 收集
  8. 世界头号电脑黑客 - 凯文•米特尼克(Kevin Mitnick)
  9. OpenCV获取不规则区域的最大内切圆(附Python / C++源码)
  10. mysql 32位_MySQL8下载 MySQL 8 for windows 32位 v8.0.18 官方免费正式版 下载-脚本之家