web服务 - Apache
安装
安装:$ yum install httpd
(不同操作系统名字不一样)
启动:$ service httpd start
停止:$ service httpd stop
- 查询进程是否存在:
$ ps -ef | grep httpd
- 默认开启80端口,查看服务状态:
$ netstat -anpl | grep 'http'
虚拟主机(一个服务器配置多个站点,绑定多个域名)
/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 0
1是强制模式,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信息
可以查文档看更多
nginx
log_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 调试
调试查看用户是用哪个域名来访问的,如不加头部信息会直接下载返回信息文件。