个人Linux学习笔记(三)

利用Nginx实现lb集群

  • 安装epel扩展包
yum install -y epel-release
  • yum安装Nginx
yum install -y nginx
  • 创建虚拟主机配置文件目录
mkdir -p /etc/nginx/vhosts
  • 创建lb配置文件
vim /etc/nginx/vhosts/lb.conf
  • 新增以下内容
upstream abc.com{
    server 192.168.200.128;
    server 192.168.200.129;
}
server{
  listen 80;
  server_name www.abc.com;
  location / {
     proxy_pass   http://abc.com/;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP  $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
  • 修改ngix主配置文件
vim /etc/nginx/nginx.conf
  • 在include /etc/nginx/conf.d/*.conf;下面新增以下内容
include vhosts/*.conf;
  • 检测nginx配置是否正确
nginx -t
  • 启动nginx服务
/etc/init.d/nginx start
  • 查看nginx是否启动
ps aux | grep nginx
  • 测试访问nginx负载
curl -xlocalhost:80 http://www.abc.com/1.html

Linux运维安全

  • 使用一台服务器作为跳板机来登陆其他服务器,其他服务器统一做IP限制(/etc/hosts.allow,/etc/hosts.deny)

  • 尽量使用密钥,避免使用密码登陆服务器(PermitRootLogin without-password)

  • 禁止root直接登陆服务器,只允许普通用户登陆,普通用户su到root(PermitRootLogin no),在sshd配置文件中修改以下内容

vim /etc/ssh/sshd_config
将#PermitRootLogin yes修改为PermitRootLogin no
  • 服务器上用不到的端口关闭,用不到的服务停掉(使用ntsysv命令关闭服务)

  • 应用程序环境软件(apache,nginx,php,mysql)避免使用太老版本

  • 不可逆操作在操作前一定要备份相关的数据或配置文件

  • 重要数据一定要备份,尽量本地和远程留存两份

  • web禁止目录浏览(apache:Options -Indexes ; nginx:在编译时加上- -without-http_autoindex_module)

编辑apache主配置文件,修改如下内容
<Directory 网站目录绝对路径>
     Options FollowSymLinks
     Options -Indexes  #新增此行
     AllowOverride None
</Directory>
  • web可写目录下禁止解析php(nginx:location ~ /data/.*.php${deny all;} ; apache:php_admin_flag engine off)
nginx:编辑主配置文件在location ~ \.php$代码前加入以下内容
location ~ /data/.*\.php$ {
        deny all;
}

apache:编辑apache主配置文件,修改如下内容
<Directory 网站可写目录绝对路径>
     Options FollowSymLinks
     Options -Indexes
     AllowOverride None
     php_admin_flag engine off  #新增此行
</Directory>
  • 设定php禁用函数,在php.ini中增加以下内容:
disable_functions = popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close,phpinfo
  • 网站目录下禁止有test命名的文件如test.php,test.html…
    -php.ini中关闭display_error(网站报错调试时可打开平时关闭)
  • 站点后台访问需要限定IP访问,如下:
apache:在虚拟主机配置文件中加入以下内容
<filesmatch "(.*)admin(.*)">
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
            Allow from  2.2.2.2  #允许2.2.2.2这个IP访问
</filesmatch>

nginx:假如我的站点后台地址为: http://www.abc.com/admin.php 那么我想限制只有个别ip可以访问后台,那么需要在配置文件中增加以下内容
location ~ .*admin.* {
        allow 1.1.1.1;  #允许访问的IP
        allow 12.12.12.0/24;  #允许访问的IP段
        deny all;
        location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass  unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
        }
    }
  • 建议每个站点都配置访问日志,并且做日志切割压缩归档,磁盘空间允许的话,尽量存放比较久的时间
  • 尽量避免开放FTP服务,如果要开放要满足两个原则:1、限定IP访问(iptables实现);2、密码设置一定要复杂

个人linux学习系列完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Benson_xuhb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值