只能解析静态页面。 动态页面:只要和数据库进行连接的都属于动态页面,比如java写的代码,PHP的代码,python的代码。
web服务器:apache (静态并发量最高2000) nginx tengine IIS 端口 全部为80!
中间件web容器:
php: php-fpm(php端口9000)
java: (tomcat端口8080。并发量到150就不行了)、jboss
python: uwsgi(默认端口5000)
多实例: 在同一台服务器上启动多个相同apache进程。只要端口不一样就可以。
前端页面:静态元素: .html .img js css swf mp4 配合:apache、nginx。
后端页面:动态元素: .php .jsp .cgi .asp 配合:java、php、python
SQL
数据库-mysql、mariadb
常见的组合方式
LNMP (Linux + Nginx + MySQL + PHP) #php-fpm就是php,这个组合是公司用的最多的组合
LAMP (Linux + Apache + MySQL + PHP) #php作为Apache的模块
Nginx + Tomcat #java项目常用的组合。取代apache
一、apache安装
[root@apache_server ~]# systemctl stop firewalld
[root@apache_server ~]# systemctl disable firewalld
[root@apache_server ~]# setenforce 0
[root@apache_server ~]# yum -y install httpd
[root@apache_server ~]# netstat -lntp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 7117/httpd
index.html:默认主页名称
默认发布网站的目录:/var/www/html
系统产生apache账户
家目录是:/var/www
1.apache目录介绍
apache的工作目录(基准目录)
conf 存储配置文件
conf.d 存储配置文件
logs 存储日志 modules 存储模块
run 存储Pid文件,存放的pid号码。是主进程号
主配置文件:
#: vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" 工作目录
Listen 80 监听端口
#Listen 12.34.56.78:80 指定监听的本地网卡 可以修改
Include conf.modules.d/*.conf 所有动态模块的加载配置
User apache apache子进程所有者 可以修改 有可能被人改称www账户 Group apache 进程的所属组
DocumentRoot "/var/www/html" 发布网站的默认目录,想改改这里。
二、访问控制
1.准备测试目录
[root@apache_server ~]# mkdir /var/www/html/test1 #创建测试目录
[root@apache_server ~]# echo hello > /var/www/html/test1/index.html #编写测试文件
2.访问控制测试
可以直接编辑apache主配置文件
1.允许所有主机访问
[root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
image.png
[root@apache_server ~]# systemctl restart httpd
访问测试:
image.png
2.只拒绝一部分客户端访问:
[root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
image.png
[root@apache_server ~]# systemctl restart httpd
访问测试:
使用ip为192.168.94.129的机器进行访问测试
[root@client ~]# curl 192.168.94.128/test1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /test1
on this server.</p>
</body></html>
3.拒绝所有人
[root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
image.png
[root@apache_server ~]# systemctl restart httpd
访问测试:
image.png
三、虚拟主机
虚拟主机:多个网站在一台服务器上。web服务器都可以实现。
三种:基于域名 基于端口 基于Ip
1.基于域名
环境:
apache_server:192.168.94.128
client:192.168.94.129
apache_server端操作:
[root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost *:80> #指定虚拟主机端口,*代表任何人都可以访问,也可以指定ip
DocumentRoot /opt/test1 #指定发布网站目录,自己定义
ServerName www.biubiu.com #指定域名,可以自己定义
<Directory "/opt/test1/">
AllowOverride None #设置目录的特性,如地址重写
Require all granted #允许所有人访问
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/test2
ServerName www.biudefor.com
<Directory "/opt/test2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@apache_server ~]# mkdir /opt/test1
[root@apache_server ~]# mkdir /opt/test2
[root@apache_server ~]# echo biubiu >> /opt/test1/index.html
[root@apache_server ~]# echo biudefor >> /opt/test2/index.html
[root@apache_server ~]# systemctl restart httpd
client端操作
[root@client ~]# vim /etc/hosts
192.168.94.128 www.biubiu.com
192.168.94.128 www.biudefor.com
测试访问:
[root@client ~]# curl www.biubiu.com
biubiu
[root@client ~]# curl www.biudefor.com
biudefor
基于端口
环境:
apache_server:192.168.94.128
client:192.168.94.129
apache_server端操作:
[root@apache_server ~]# vim /etc/httpd/conf/httpd.conf //增加一个监听端口
image.png
[root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost *:80>
DocumentRoot /opt/test1
ServerName www.biubiu.com
<Directory "/opt/test1/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:81> //只改变了biudefor的监听端口
DocumentRoot /opt/test2
ServerName www.biudefor.com
<Directory "/opt/test2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@apache_server ~]# systemctl restart httpd
client端操作
[root@client ~]# curl www.biubiu.com
biubiu
[root@client ~]# curl www.biudefor.com
biubiu
[root@client ~]# curl www.biudefor.com:81
biudefor
3.基于IP
环境:
apache_server:192.168.94.128
client:192.168.94.129
apache_server端操作:
[root@client ~]# ifconfig ens32:0 192.168.94.127 #添加一个临时ip
删除临时ip方法:ifconfig ens32:0 192.168.94.127 down
[root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost 192.168.94.127:80> #指定ip
DocumentRoot /opt/test1
ServerName www.biubiu.com
<Directory "/opt/test1/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.94.128:80> #指定ip
DocumentRoot /opt/test2
ServerName www.biudefor.com
<Directory "/opt/test2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@apache_server ~]# systemctl restart httpd
client端操作
[root@client ~]# curl 192.168.94.128
biudefor
[root@client ~]# curl 192.168.94.127
biubiu
[root@client ~]# vim /etc/hosts
192.168.94.127 www.biubiu.com
192.168.94.128 www.biudefor.com
[root@client ~]# curl www.biubiu.com
biubiu
[root@client ~]# curl www.biudefor.com
biudefor
网友评论