Linux:WebServer(Apacge)
- / + 内容:表示在文本中搜索该内容;
- :q!:不保存直接退出;
- chown -R imooc:imooc /data:将 /data 文件夹的权限所有人该为用户 imooc;
- -R:采用递归的方式;
- /data 文件夹下的所有文件的权限都为用户 imooc;
- sudo su + 用户名:切换用户;
一、简介
- WebServer:web 服务器;(就是网站的服务器)
- WebServer 中常用的两款软件:NGINX、APACHE;
- WebServer 默认是 80 端口;(也可以改成其它端口)
- WebServer 启动后,可以通过浏览器直接访问服务器的 80 端口;
- 服务器通过 80 端口提供服务,用户通过浏览器访问服务器的 80 端口类接受服务;
- 网络统计:netstat -anpl | grep 'http',可以查看完了端口等信息;
二、Apache
1)Apache 的简单命令
- ps -ef | grep httpd:查询 httpd 是否存在;
- service httpd restart:重启WebServer;
2)Apache 的虚拟主机配置及伪静态操作
- A)虚拟主机的作用:虚拟主机一般在配置多域名的时候使用,比如在一个服务器上配置多个网站,需要有多个配置保证每一个域名访问的网站的内容和源代码是不一样的。
- /etc/httpd/conf:存放配置文件;
- /etc/httpd/conf.modules.d:存放配置文件模块的配置文件;
- /etc/httpd/modules:存放各种模块,将不同的模块添加到配置文件 httpd.conf 中时,会实现不同的功能;
-
B)模块使用方式
- 进入配置文件所在的目录:cd /etc/httpd/conf;
- 在 conf 文件夹下的 httpd.conf 文件中进行配置:vim httpd.conf;
- 在 httpd.conf 文件中搜索找到虚拟主机配置位置:/LoadModule;
- 在 “LoadModule foo_module modules/mod_foo.so” 这一行下添加模块:LoadModule 模块 modules/模块;
-
C)/etc/httpd/conf/httpd.conf:配置文件
- Listen:监听的服务器端口;
- Include conf.modules.d/*.conf:加载模块的格式,* 表示任意字符;
- DocumentRoot " path/html ":默认代码所在的根目录;(也可以为其它目录,配置虚拟主机就是为了可以随意配置代码目录放到任何地方)
-
D)虚拟一个主机配置:
- 进入配置文件所在的目录:cd /etc/httpd/conf;
- 在 conf 文件夹下的 httpd.conf 文件中进行配置:vim httpd.conf;
- 在 httpd.conf 文件中搜索找到虚拟主机配置位置:/virtual;
- 开始配置:
- 重启 WebServer ;
- *:80:服务器接口为 80 端口;
- ServerName:域名;
- DocumentRoot:html 代码存放的目录;
- <Directory "/data/www">:关键字,html 代码所在目录;
- Require:访问权限,all granted 表示对所有人授权;
- 如果需要配置多个虚拟主机,则设置多个:<VirtualHost>;
-
E)设置访问限制:vim /etc/selinux/config
- SELTNUX=enforcing:强制模式;
- SELTNUX=permissive:宽容模式;
- SELTNUX=disabled:不设置任何限制;
- setenforce 0:表示临时打开端口接受浏览器访问;(临时操作,重启 WebServer 后又恢复默认设置)
- setenforce 1:表示临时关闭端口拒绝浏览器访问;
- 根据域名访问服务器内容:域名 + HTML文件,访问 DlcumentRoot 指定的文件夹下的具体文件代码(一般为 HTML 代码,也可以是PHP 代码);
- 配置好主机,将域名解析对应服务器 IP 后,可以通过浏览器输入配置的域名(也就是网址)来访问服务器(一般为 80 端口),得到服务器提供的服务(也就是打开 DocumentRoot 指定的文件夹下的 html 代码);
- 只有被互联网认可的域名(也就是合法的网址)才能被浏览器访问;
-
F)伪静态
- 解释:实际上就是改变浏览器访问服务器的内容;(相当于是网页跳转)
- 例如,通过伪静态设置后,只要网址是:域名 + *.htmp,都自动访问 “域名 + test.html ”;
-
伪静态设置:也是在虚拟主机配置中设置;(借助 rewrite_module 模块实现)
- 在配置文件的 <Directory> 中添加:IfModule mo_rewrite.c;
- <IfModule mod_rewrite.c>:如果添加了 mod_rewite.c 模块,则执行其下的内容;
- RewriteRule ^(.*)htmp test.html:如果配置文件 httpd.conf 中添加了 mod_rewrite.c 模块,将所有网址中(域名 + 代码文件目录),域名后缀是 htmp 的网址,都访问 test.html 文件中的代码内容;