在CentOS 8上安装与配置Apache虚拟主机
实验环境
操作系统:Centos 8
web应用:apache
内网IP:192.168.3.21
shell执行:root
以root或具有sudo权限的用户身份登录执行如下操作。
主配置文件路径:/etc/httpd/conf/httpd.conf
安装httpd服务
[root@linuxcool ~]# yum install httpd-devel.x86_64 httpd.x86_64 httpd-tools.x86_64 -y
验证httpd是否安装成功
[root@linuxcool ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 2 2020 13:13:23
启动httpd服务
[root@linuxcool ~]# systemctl start httpd.service[root@linuxcool ~]# systemctl status httpd.service
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since Fri 2020-05-22 12:23:03 CST; 25s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 952 (httpd)Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"Tasks: 6Memory: 3.6MCGroup: /system.slice/httpd.service├─952 /usr/sbin/httpd -DFOREGROUND├─953 /usr/sbin/httpd -DFOREGROUND├─954 /usr/sbin/httpd -DFOREGROUND├─955 /usr/sbin/httpd -DFOREGROUND├─956 /usr/sbin/httpd -DFOREGROUND└─957 /usr/sbin/httpd -DFOREGROUNDMay 22 12:23:03 linuxcool systemd[1]: Starting The Apache HTTP Server...
May 22 12:23:03 linuxcool httpd[952]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, u...message
May 22 12:23:03 linuxcool systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
apache安装成功,默认web目录/var/www/
测试
http://192.168.3.21/
上面的页面表示 apache 已经正常运行了,它其实访问的是/var/www/html 下面的 index.html 文档,由
于这个文档不存在,所以就显示了测试页,我们可以通过建立 index.html 的方式建立默认主页。
#cd /var/www/html
#touch index.html
#vi index.html输入以下内容:
<h1>Welcome</h1>
<h2>This is apache Site!</h2>
打开浏览器,访问站点地址即可见:
安装成功!说明 apache 服务已经正常运行!
我们可以在/var/www/html 文件夹内,针对每个用户建立一个软链接,
方法如下:
#ln –s /home/user/public_html user
这样我们就可以通过 http://192.168.5.1/user 的方式访问用户页面了。
基于 P IP 的虚拟主机
如果希望使用 192.168.0.10 可以访问到/var/site/bbs.example.com 目录的内容,使用 192.168.0.11 可以访问到/var/site/blog.example.com 目录的内容,需要在主配置文件中加入以下内容:
①:指定在 192.168.0.10 的 80 端口建立虚拟主机
②:指定该虚拟主机管理员邮箱(非必要参数)
③:指定使用 192.168.0.10 的 IP 地址访问时网站内容的存放目录
④:帮助 apache 识别该虚拟主机的 IP 地址及端口号为 192.168.0.10:80(非必要参数)
⑤:指定访问时网站错误日志地址
⑥:指定访问时的访问记录日志地址
然后修改主机的网络配置,为主机增加一个虚拟网卡,方法如下:
#ifconfig eth0:0 192.168.5.12
但使用此命令添加的虚拟网卡在重启后会失效,所以建议通过修改网卡配置文件来实现:
配置方法参考 FTP 部分虚拟主机的配置方法!(点击此连接可访问该部分)
最后,进入对应的目录建立 index.html 文件即可,步骤不重述。
配置apache虚拟主机
创建网站目录
[root@linuxcool ~]# mkdir -p /var/www/web1
[root@linuxcool ~]# mkdir -p /var/www/web2
web1添加index.html
[root@linuxcool ~]# vim /var/www/web1/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title>Welcome to Web1</title></head><body><h1>Success! Web1 home page!</h1></body>
</html>
web2添加index.html
[root@linuxcool ~]# vim /var/www/web2/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title>Welcome to Web1</title></head><body><h1>Success! Web1 home page!</h1></body>
</html>
授权web目录权限
[root@linuxcool ~]# chttps://mp.weixin.qq.com/s/cEPsHaFWnuNgSXDjmXcSYQ
[root@linuxcool ~]# chown -R apache: /var/www/web2/
创建虚拟主机文件
#web1
[root@linuxcool ~]# vim /etc/httpd/conf.d/web1.conf
<VirtualHost *:80>
ServerName web1.com
ServerAlias www.web1.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/web1<Directory /var/www/web1/>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
#web2
[root@linuxcool ~]# vim /etc/httpd/conf.d/web2.conf
<VirtualHost *:80>
ServerName web2.com
ServerAlias www.web2.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/web2<Directory /var/www/web2/>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
重启httpd服务
[root@linuxcool ~]# systemctl restart httpd.service
验证httpd虚拟主机结果
http://www.web1.com
http://www.web2.com
Apache配置
1、设置静态文件过期时间为1天
<ifmodule mod_expires.c>ExpiresActive onExpiresBytype text/css "access plus 1 days"ExpiresByType text/javascript "access plus 1 days"ExpiresByType application/x-javascript "access plus 1 days"ExpiresByType image/* "access plus 1 days"
</ifmodule>
2、开启gzip压缩
<ifmodule mod_deflate.c>DeflateCompressionLevel 6AddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE text/javascriptAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html#SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-varySetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-varySetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</ifmodule>
3、配置/upload附件目录
#不代理upload路径
ProxyPass /upload !
4、访问附件目录/upload,不要提示403禁止,提示404不存在,防止泄露站点结构。
#访问/upload路径不提示403禁止错误,提示404不存在。
RedirectMatch 404 ^/upload/$
5、禁用TRACE方法
修改httpd.conf文件,添加如下代码,重启。
TraceEnable off
6、设置首页重定向
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/$ /sso/ [R=permanent,L]
7、设置proxy超时时间
Timeout 600
ProxyTimeout 600
Apache项目配置
程序目录:/usr/local/apache2
配置
主配置文件:/usr/local/apache2/conf/httpd.conf
虚拟主机配置:/usr/local/apache2/conf/vhost
一个项目一个域名一个配置。
增加域名
脚本:/root/vhost.sh
root@ubuntu:~# /root/vhost.sh
Please input domain:
(Default domain: www.cyyun.com):
运行脚本,输入需要添加的域名例如www.baidu.com,结束后会在/usr/local/apache2/conf/vhost生成www.baidu.com.conf配置文件。配合tomcat修改以下两段的IP和端口。
ProxyPass / ajp://192.168.122.100:8019/
ProxyPassReverse / ajp://l92.168.122.100:8019/
新增域名添加解析后网址类似如http://www.baidu.com:10080/。网站目录是/home/wwwroot/www.cyyun.com,日志是/var/log/apache2/www.baidu.com-access_log。
重启apache2
/etc/init.d/apache2 restart
参考链接 :
在CentOS 8上安装与配置Apache虚拟主机 :https://mp.weixin.qq.com/s/cEPsHaFWnuNgSXDjmXcSYQ
RHEL7 源码安装Apache服务 https://mp.weixin.qq.com/s/2C2PLJ3SKLNbKvjav5P1Dg
在CentOS 8上安装与配置Apache虚拟主机相关推荐
- 教你在CentOS 8上安装和配置Redmine项目管理系统
Redmine Redmine是一个免费开源的项目管理和问题跟踪应用程序,它是跨平台和跨数据库的,建立在Ruby on Rails框架之上.文内含长段代码可复制可往左滑,希望对大家有帮助! 实验环境 ...
- 如何在CentOS 7上安装和配置MySQL Cluster
翻译&转载:https://www.howtoforge.com/tutorial/how-to-install-and-configure-mysql-cluster-on-centos-7 ...
- 如何配置Apache虚拟主机?(基于IP、基于端口、基于域名)
一.Apache虚拟机配置前的准备工作 1.下载yum源 2.安装yum包 3.安装httpd包 4.查看并关闭selinux 5.取消中心主机 cd /etc/httpd/conf vim http ...
- Linux下配置Apache虚拟主机(基于IP地址)
Linux下配置Apache虚拟主机(基于IP地址) 一.虚拟主机 虚拟主机,又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术.虚拟主机之间完全独立,并可 ...
- Ubuntu系统下配置Apache虚拟主机
本文已在本人博客https://www.nsxsg.com/archives/125首发 文章目录 Ubuntu系统下配置Apache虚拟主机 说明 配置文件 配置多个虚拟主机 Ubuntu系统下配置 ...
- 如何配置apache虚拟主机
如何配置apache虚拟主机 实验目标:在apache实现基于域名的虚拟主机 实验用的XAMPP版本为1.7.7,内含apache版本为2.2.21 实验前准备: 1. 为了测试不同的域名,在Wind ...
- linux检测hashicorp,在Ubuntu/CentOS/Debian上安装和配置Hashicorp Vault服务器的方法
本文介绍在Ubuntu 18.04/Debian 9/CentOS 7/Fedora上安装Vault服务器(Hashicorp Vault Server).配置Vault systemd服务.初始化V ...
- 在CentOS 7上安装并配置Python 3.6环境
在纯净的 CentOS 系统上安装 Python 环境主要有两种办法. 一种是通过源码编译安装,另外一种就是安装已经打好的 RPM 包.依照个人习惯,我们先来看一下如何通过源码编译的方式安装 Pyth ...
- CentOS下配置apache虚拟主机
1.apache虚拟主机配置: (1)基于域名的配置(同一个IP不同域名)方法: ①添加域名到hosts文件中, 命令vim /etc/hosts 添加的内容: 192.168.142.140 ...
最新文章
- 2022-2028年中国钽酸锂单晶行业市场调查分析及投资发展潜力报告
- java最长类名_在java规范中类命名的字符长度是多少?
- 潜移默化学会WPF--绘图 学习(一)
- 皮一皮:据说这是英超第一轮之后的情况...
- ML之NB、LoR:基于NB和LoR算法对Kaggle IMDB影评数据集(国外类似豆瓣电影)情感分析进行分类
- 方案一TCP 完成聊天室的编写
- Linux下的tr编辑器命令详解
- Nginx-rtmp直播之业务流程分析--比较详细
- 容器中Java RAM的使用:不会丢失内存的5大技巧
- 前端学习(1981)vue之电商管理系统电商系统之完成可选项的添加操作
- 【面向对象】面向对象程序设计测试题6-Java中的对象交互强化测试题
- input和textarea的区别
- C# 打开指定文件夹下的excel
- 记录一些关于操作数据库(本地和linux服务器)常用的命令
- spring mvc 重新定向到一个新的Url
- 反编译那些事儿(二)—枚举的反编译
- NLP Lemmatisation(词性还原) 和 Stemming(词干提取) NLTK pos_tag word_tokenize
- Clouda开发随笔之block标签
- feed机制、fetch机制
- 电脑网络中看到不工作组计算机,win7系统看不到工作组计算机怎么办?win7系统看不到工作组计算机解决方法...