CentOS 基本操作

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 模块。
cdconf,打开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

改host

查看error.log 文件,表示这个目录无法访问
查看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重复的配置信息注意删除。

代表加载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配置,输出日志到指定目录。

按虚拟主机区分配置日志文件

其它日志:error.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配置即可,默认轮流请求转发到这两台服务器

负载均衡

配置转发的权重为5:1

nginx 调试

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


单行调试

推荐阅读更多精彩内容