2016年3月

HP 服务器 ML310e 带 RAID 系统安装小记

这次要安装的系统是 RedHat.
在服务器到我这里之前已经安装了一个 Centos, 不过开机画面是歪斜的.
服务器附带了一个要安装的光盘, 版本为 RedHat 5.4.
经过和惠普方面的工程师交流得知, ML310e 只测试支持 RedHat 5.9 版本以上的系统.
跟上头交流换成了 RedHat 7.0.
插入CD,开机, F10, 进入向导配置
首先是配置 RAID, 删掉原本的 RAID 阵列,然后重建RAID阵列. (后来测试使用旧有的RAID阵列也是可以的
关于 RAID 的阵列配置网上信息众多, 不过多赘述. 因为我有两块盘, 所以使用 RAID1.
之后进入系统安装向导, 在原先测试的时候, 这个安装向导对于系统的安装是存在问题的.
就是安装向导默认的安装方式将会导致 Centos 内核的系统启动后的画面歪斜.
但是我们还是要进来, 因为将会用到它的逻辑磁盘格式化, 它会帮我们格式化好磁盘.
下一步会检查你的安装介质, 通过后会直接帮你默认安装(是的,就是那个有问题的默认安装).
安装完成 -> 重启. 选择 CD 启动. 在 RedHat 安装的引导界面, 选择其他安装方式的 BASIC 模式安装.
进入图形化界面, 选择安装磁盘上可以看到有两个逻辑磁盘. 选择第一个就好.
之所以是看到两个逻辑磁盘, 而不是一个. 个人猜测因为 RAID1 使用了一个 冗余磁盘, 所以存在两个逻辑磁盘.
安装在磁盘1, 就是主引导的逻辑磁盘1, 第二个应该是冗余用的逻辑磁盘2.
其他的安装选项根据所需选择安装就好.
自此在 HP ML310e 服务器上的 RAID 阵列无 RAID 驱动默认 RedHat 安装盘系统安装完成.

Centos Nginx 反向代理配置

进入 conf.d 新建 Server.conf 

server{
  listen 80;
  server_name sys7em.info;
  charset utf-8;
  location / {
    root /var/www;
    index index.php
    index.html;
    proxy_pass http://ip/$request_uri;
    proxy_buffer_size 64k;
    proxy_buffers 32 32k;
    error_page 404.html;
    location ~ .*\.(js|css)$ {
        proxy_pass http://ip/$request_uri;
        proxy_redirect off;
        proxy_set_header Host $host; expires 3d;
        }
    }
    location ~ \.php$ {
        proxy_pass http://ip/$request_uri; 
        proxy_set_header Cookie $http_cookie;
        proxy_set_header Host $http_host; 
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Centos Apache 安全配置

vim httpd.conf 删除或注释掉以下配置

<Directory>
    AllowOverride None
    Require all granted
    //以下略
</Directory> 

进入 conf.d 新建一个 Example.conf

<VirtualHost *:80>
    ServerAdmin admin@sys7em.info
    DocumentRoot /var/www/html
    ServerName sys7em.info
    Loglevel warn
    ErrorLog /var/log/apache/error.log
    CustomLog /var/log/apache/access.log common
    <Directory "/var/www/html">
        Order deny,allow
        allow from all
        #allow from 192.168.1.100
        #deny from all
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    <IfModule dir_module>
        DiectoryIndex index.html
    </IfModule>
    <FilesMatch \.(php|php.*)$>
        Order allow,deny
        deny from all
    </FilesMatch>
</VirtualHost>

VirtualHost 是虚拟主机的意思, 这样写可以统一管理站点和安全配置

至于之前在 httpd.conf 注释掉的配置是为了不和在 conf.d 中新建的配置文件有冲突

Nginx反向代理至Apache Css/Js/Jpg 等访问失效解决

主要问题为: 在 web console 中查看状态为 404, 但是当复制 URL 直接访问时却没有问题.
解决方案:

location ~ .*.(js|css)$ {
  proxy_pass http://ip/$request_uri;
}

原因剖析: 结合网上的一些问题的总结, 问题应该出在 url 上, 主动访问会带上 host,
而非主动访问则不会, 所以 nginx 认为这不是到后端 Apache 上访问的资源.
而本地并不存在这个文件, 所以就 404 了. 通过正则匹配访问文件重定向到 Apache 就没问题了.