从iRedMail 创建web服务学习Nginx
. ${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相关推荐
- apache-cxf 使用_使用Apache CXF进行Web服务学习
apache-cxf 使用 在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我认为标准任务(例如创建客户端,创建Web服务等)非常简单,如果遇到问题,有足够的资源. ...
- 使用Apache CXF进行Web服务学习
在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我觉得创建客户端,创建Web服务等标准任务非常简单,如果遇到问题,有足够的资源. 但是对于Web服务,这是一项琐碎的 ...
- 手把手教你在.NET中创建Web服务
最近发现在.NET平台下使用Web服务还是很简单的. 下面举个在.NET平台下创建Web服务的简单例子.首先用Visul Studio .Net创建一个C# 项目Asp.Net Web服务程序,源代码 ...
- LabVIEW创建Web服务
LabVIEW创建Web服务 在LabVIEW项目中开发Web服务,组合并配置构成Web服务的VI和其他文件.按照下列步骤创建一个Web服务项目和两个HTTP方法VI. 创建一个组织Web服务文件的L ...
- 综合架构web服务之nginx详解
文章目录 nginx 服务配置详细介绍 关于作者 前言 一.nginx web 入门简介 1.1 什么是nginx 1.2 常见的网站服务 1.3 nginx 网站服务特点 1.4 网站页面访问原理 ...
- Web服务之Nginx浅析
一.Nginx 简介: nginx [engine x]是Igor Sysoev编写的一个高性能的HTTP和反向代理服务器,另外它也可以作为邮件代理服务器. 在大多数情况下都是用来做静态web服务器和 ...
- nginx作为web服务以及nginx.conf详解
Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...
- Web服务器之Nginx介绍
一.Nginx简介 Nginx (engine x) 是一个高性能的Web和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服器.Nginx处理高并发能力是十分强大的,能经受高负载的考 ...
- 基于使用学习排序算法的Web服务学习的个性化的决策战略
摘要----为了从类似的服务列表中进行功能上的选择,用户往往需要根据多个QoS准则做出他们的决定,它们需要对目标服务.在这个过程中,不同的用户可能遵循不同的决策策略,有些是补偿性的,在这个补偿中在所有 ...
- 【VMCloud云平台】SCVMM配置(九)创建Web服务模板
继续上一篇完成SCVMM创建SQL服务模板后,本篇将继续讲述云平台中的第一个组件--SCVMM创建第一个Web服务模板(即下图中的SCVMM01,蓝色为未实现,绿色为计划中,红色为实施中). 1. 登 ...
最新文章
- lstm PTB语言数据集的处理
- [转] Linux GCC 编译使用
- MVC %%与%=%与区别
- python中如将一个文件夹中的多张图片都进程序?
- Aria2 使用手札
- 云南大学网络课程作业计算机,云南大学842计算机程序设计考研复习经验
- Request_获取请求头数据
- 《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent
- JavaScript ECMA
- 计算机专业做产品,非计算机专业如何做产品经理?
- 漫谈 Gentoo 中文社区的建设
- “流量注入”***模式的探讨
- 仿生软体机器人就业咋样_SRT近亿元B轮融资,中国软体机器人技术从空白到全球领先...
- python网管系统_Python学员作品-网吧管理系统
- 使用微信小程序生成海报
- hive 添加字段,字段值错位问题
- linux sd卡 测试软件,怎么检测SD卡内存卡是否被扩容过?
- tlq_ver.dat文件不存在
- python cox模型_Cox模型的基本概念_Python数据分析系列视频课程--玩转统计模型_数据挖掘与分析视频-51CTO学院...
- 【数据结构】栈的简单理解以及对栈的基本操作
热门文章
- 【信道编码/Channel Coding】纠错编码与差错控制
- 矩阵迹的几何意义是什么?
- python爬虫怎么保存图片_使用Python爬虫怎么将网页图片保存到本地
- 查看Hadoop的版本号
- java web从入门到精通 明日科技 源码_Java Web 从入门到精通(明日科技)
- python 修改pdf_使用Python编辑PDF
- 工具 - 文本比较/对比 - 收集
- 世界头号电脑黑客 - 凯文•米特尼克(Kevin Mitnick)
- OpenCV获取不规则区域的最大内切圆(附Python / C++源码)
- mysql 32位_MySQL8下载 MySQL 8 for windows 32位 v8.0.18 官方免费正式版 下载-脚本之家