web服务 - Apache
安装
安装:$ yum install httpd (不同操作系统名字不一样)
启动:$ service httpd start
停止:$ service httpd stop
- 查询进程是否存在:
$ ps -ef | grep httpd - 默认开启80端口,查看服务状态:
$ netstat -anpl | grep 'http'
表示已经在监听80端口
虚拟主机(一个服务器配置多个站点,绑定多个域名)
/etc/httpd下的文件功能:conf 配置文件;conf.modules.d 配置模块文件的配置文件;modules 模块。
cd 到 conf,打开httpd.conf

直接vi 用 /virtual 搜索,在该地方配置:

配置完保存后,
$ service httpd restart重启服务$ mkdir -p /data/www 创建一个文件目录$ ll /data/ 查看目录权限,如果其它账号操作 root 账号权限的目录则无法操作

更改一个目录所属的用户(一般目录权限不够时更改,root账号操作不用):
$ sudo chown -R imooc:imooc /data
修改本地host模拟一个域名访问:
$ sudo vim /etc/hosts

查看
error.log 文件,表示这个目录无法访问
需要添加<Directory>配置,重启服务

如果还是不行就在服务器执行下
$ sudo setenforce 01是强制模式,0是宽容模式,一般0是临时关闭,如果要每次重启都要关闭,需要
$ sudo vim /etc/selinux/config,禁用掉即可。

伪静态
将php等动态语言网页伪静态成html,利于SEO
在/etc/httpd/modules下(所有模块的类),该文件是伪静态模块的重写规则:

/etc/httpd/conf.modules.d模块的配置文件开启伪静态步骤:1、将
mod_rewrite.so加载到系统中 2、打开配置伪静态规则1、在
/etc/httpd/httpd.conf中,搜索/LoadModule,修改配置加载一个新的modules,重启服务。
2、一个简单的伪静态规则示例:将所有http的请求转换到index.html当中,重启服务(一般php的MVC框架配置为将所有的请求转发到index.php即可)。

web服务 - Nginx
安装
$ yum install nginx
在centOS中比较特殊,需要添加Nginx yum资源库:
sudo rpm -Uvh http://[nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm](http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm)
sudo yum install -y nginx
启动:$ service nginx start
停止:$ service nginx stop
重载:$ service ngnix reload
restart会杀掉进程重新启动进程,如果对外提供服务时,用户可能无法访问,但reload命令会无缝的重启迁移,建议使用reload
配置虚拟主机
在/etc/nginx下,nginx.conf 是配置文件,里面可能有conf.d重复的配置信息注意删除。

cd到
conf.d中,有一个默认的default.conf文件(也可能没有,配置信息已经在nginx.conf中了)
$ cp default.conf imooc.conf , 新建一个imooc的虚拟主机配置,重载服务
监听多端口、多域名访问同一个服务:

伪静态
将所有http的请求都转发到index.html当中去。

日志格式配置:
$ sudo vim nginx.conf


Log 的格式:IP - 远程用户 - 时间 - 请求 - 状态值 - UA信息


可以查文档看更多
nginxlog_format日志格式配置
按虚拟主机区分配置日志文件$ sudo vim conf.d/imooc.conf使用 imooc的log配置,输出日志到指定目录。


反向代理
$ sudo vim imooc.conf
将所有http://www.imooc.test/ www.imooc3.test 的请求转发到118.89.106.129:80,由于服务器配置了只解析指定域名的请求,所以需要加入proxy_set_header Host www.54php.cn 配置即可将所有www.imooc.test请求反向代理到 www.54php.cn(后端服务器被隐藏)

负载均衡
增加一个upstream server配置即可,默认轮流请求转发到这两台服务器


nginx 调试
调试查看用户是用哪个域名来访问的,如不加头部信息会直接下载返回信息文件。

