Linux服务器部署系列之一—Apache篇(上)

简介:


Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势。很久以前就有些想法,要将自己学的linux知识整理一下。最近,终于下定决心,挤出时间开始动手写些东西了。虽然不一定好,不过,留些笔记至少可以方便记忆。

Apache Linux 服务里面用得最多的之一,今天我们就从它开始来一次 Linux 服务部署之旅。
本文分以下章节介绍:
1. 安装Apache
2. 配置Apache
3. 配置虚拟主机
4. 管理日志文件
5. 配置PHP运行环境
 
一、安装 Apache
下载地址: http://httpd.apache.org/
1.  安装 Apache
# tar  zxvf  httpd- 2.2.11 .tar.gz
# cd  httpd- 2.2.11
# ./configure  --prefix=/usr/local/apache  --enable-so
// 编译时加上加载模块参数 --enable-so
# make
# make  install
 
2.  配置系统启动时自动启动 Apache 服务。
# vi  /etc/rc.d/rc.local
  // rc.local 上加入一行 /usr/local/apache/bin/apachectl   start
 
二、配置 Apache
1.  修改 httpd.conf 文件
# vi  /usr/local/apache/conf/httpd.conf
1   设置根目录的路径
根目录是指 Apache 存放配置文件和日志文件的目录,配置参数为 ServerRoot ,默认位于“ /usr/local/apache ”。命令如下:
2   设置监听 IP 地址及端口号
默认侦听本机所有 IP 地址的 TCP80 端口,命令如下:
Listen 80
用户也可以按自己的需求,使用多个 Listen 语句在多个地址和端口上侦听客户端请求。比如:
Listen 192.168.99.9:80
Linsten 172.16.0.20:8080
3   设置系统管理员 E-mail
使用 ServerAdmin 参数设置管理员 E-mail ,比如管理员的 Email 地址为 root@guoxuemin.cn
4   设置服务器主机的名称
参数 ServerName 用来设置服务器的主机名称,如果没有域名则填入服务器的 IP 地址,比如服务器的 IP 地址为 192.168.99.9
5   设置主目录的路径
用户可以使用参数 DocumentRoot 配置服务器主目录默认路径,比如,主目录路径为:
6   设置默认文件
Apache 的默认文件名为 index.html ,可以使用 Directory Index 参数来配置,比如,将 index.php 设置为默认文件名:
7 )测试:
打开浏览器,输入地址: http://192.168.99.9 ,可以打开站点了:
 
2.  配置目录权限
使用 <Directory  目录路径 > </Directory> 设置目录的权限。比如:
<Directory   /var/www/icons >
Options  Indexes  MultiViews
AllowOverride  None
Order  allow,deny
Allow  from  all
</Directory>
说明:
1 )定义目录特性选项 Options
可选参数:
Indexes :该特性表明目录允许“目录浏览”;
MultiViews :该特性表明目录允许内容协商的多重试图;
All :包含了除 MultiViews 外的所有特性;
ExecCGI :该特性表明允许在该目录下执行 CGI 脚本;
FollowSymLinks :该特性表明允许在该目录下使用符号连接。
2 .htaccess 文件
可以通过 .htaccess 文件(访问控制文件)设置目录的权限。
AccessFileName  .htaccess
配置参数 AllowOverride 指定目录的 .htaccess 文件中指令的类型,包括 All None Options FileInfo AuthConfig Limit 的任意组合。一般将 AllowOverride 设置为“ None ”,禁止使用 .htaccess 文件,当 AllowOverride 参数为 All 时, .htaccess 文件可以覆盖任何以前的配置。
3 )设置访问控制
使用 Order 选项来定义访问权限。
比如以下语句表明允许所有客户机的访问:
Order  allow,deny
Allow  from  all
以下语句表明只允许网段 192.168.99.0/24 的客户机访问,但 IP 地址为 192.168.99.254 这个客户机除外:
Order  allow,deny
Allow from  192.168.99.0/24
Deny from  192.168.99.254
用户可以根据需要,按上述方法配置自己的目录权限。
 
3.  创建虚拟目录
使用 Alias 选项创建虚拟目录,比如,建立“ /icons/ ”这个虚拟目录,其对应的物理路径为“ /var/www/icons/ ”:
Alias  /icons/  “/var/www/icons/”
 
4.  用户认证
比如,有一个名为 myweb 的虚拟目录,其对应的物理路径是“ /usr/local/myweb ”,现对其启用用户认证功能,只允许用户 Tonyguo Wayne 访问。
1 )建立虚拟目录并设置用户认证:
2)  建立口令文件并为用户设置口令
-c 选项表示无论口令文件是否已经存在,都会重新写入文件并删除原内容。所以第二个用户 wayne 不需要使用 -c 选项。
3 )测试
在浏览器中输入: http://192.168.99.9/myweb ,可以看到如下对话框:
输入用户名和密码后就可以访问网站了:
 
三、配置虚拟主机
1.  配置基于 IP 的虚拟主机
1 IP 地址相同,但端口号不同的虚拟主机配置
比如使用 192.168.99.9 的两个不同端口 80 8080 发布两个不同站点 虚拟主机分别对应的目录为 /usr/local/apache/htdocs/web1 /usr/local/apache/htdocs/web2
Listen 80
Listen 8080
<VirtualHost  192.168.99.9:80>
  ServerSignature  email
  DocumentRoot  /usr/local/apache/htdocs/web1
  DirectoryIndex  index.html  index.htm
  LogLevel  warm
  HostNameLookups  off
</VirtualHost>
<VirtualHost  192.168.99.9:8080>
  ServerSignature  email
  DocumentRoot  /usr/local/apache/htdocs/web2
  DirectoryIndex  index.html  index.htm
  LogLevel  warm
  HostNameLookups  off
</VirtualHost>
2 )配置基于域名的虚拟主机
比如服务器有两个 IP 地址 192.168.99.9 192.168.99.10 ,使用这两个 IP 创建两台虚拟主机,虚拟主机分别对应的目录为 /usr/local/apache/htdocs/web1 /usr/local/apache/htdocs/web2 。设置方法如下:
<VirtualHost  192.168.99.9>
  ServerName  192.168.99.9:80
  DocumentRoot  /usr/local/apache/htdocs/web1
  DirectoryIndex  index.html  index.htm
</VirtualHost>
<VirtualHost  192.168.99.10>
  ServerName  192.168.99.10:80
  DocumentRoot  /usr/local/apache/htdocs/web2
  DirectoryIndex  index.html  index.htm
</VirtualHost>
 
2.  配置基于域名的虚拟主机
比如有两个域名 guoxuemin.cn tonyguo.com 需要使用同一台服务器 192.168.99.9 ,那么可以这样配置:
NameVirtualHost  192.168.99.9
<VirtualHost  www.guoxuemin.cn>
  ServerName  www.guoxuemin.cn:80
  ServerAdmin  admin@guoxuemin.cn
  DocumentRoot  /usr/local/apache/htdocs/web1
  DirectoryIndex  index.html  index.htm
  ErrorLog  logs/web1/error_log
  Customlog  logs/web1/access_log  combined
</VirtualHost>
<VirtualHost  www.tonyguo.com>
  ServerName   www.tonyguo.com:80
  ServerAdmin  admin@tonyguo.com 
DocumentRoot  /usr/local/apache/htdocs/web2
  DirectoryIndex  index.html  index.htm
  ErrorLog  logs/web1/error_log
  Customlog  logs/web1/access_log  combined
</VirtualHost>
 


     本文转自Tonyguo 51CTO博客,原文链接:http://blog.51cto.com/tonyguo/168534,如需转载请自行联系原作者




相关文章
|
7天前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
128 5
|
13天前
|
弹性计算 人工智能 运维
如何基于阿里云 ECS 一键部署 AskTable?
AskTable + 阿里云 ECS 一键私有部署方案,3 分钟快速搭建专属数据智能平台。无需复杂运维,支持弹性扩展、私网安全访问及AI对话式分析,助力企业高效、安全实现数据智能。
|
14天前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
90 17
|
1月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
318 13
|
1月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
162 0
监控 安全 Linux
72 0
|
2月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
199 16
|
2月前
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
126 0
|
2月前
|
运维 数据可视化 数据库
一小时搞定服务器软件部署:资深工程师实测方案
本文分享了一位运维工程师在短时间内将30个不同软件部署到新服务器上的实战经验。面对全新 Rocky Linux 系统,传统手工部署方式效率低下且容易出错。作者尝试多种自动化方案后,最终选择使用自动化部署工具,通过其内置的 Docker Compose 模板和可视化界面,实现快速、批量部署,大幅提升效率,30个应用仅用约1小时完成,显著节省时间和人力成本。

热门文章

最新文章