个人Linux学习笔记(三)
2015-10-08 15:12
417 查看
利用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[/code]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学习系列完
相关文章推荐
- linux中patch的用法
- .net在linux下部署项目
- 软件测试人员需要精通的开发语言(3)--- Linux
- Windows通过Python登录Linux服务器 ----SSH
- linux下各种格式的压缩包的压缩、解压方法
- Linux学习记录(13)RAID基本概念及操作
- linux下socket编程
- CentOS Linux使用crontab运行定时任务详解
- linux创建守护进程且进程中只有唯一实例
- Linux Network Programming Intro - Dual Network Card
- andrid linux kernel中植入一个文件节点
- Linux下iptables 禁止端口和开放端口
- linux创建守护进程--Daemon函数
- linux下创建守护进程01
- arm-linux-gcc(ubuntu)安装
- linux——创建用户及所属组总结
- CentOS5.x系统 配置YUM服务器
- linux:用户和组文件解释(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)
- Unix/linux学习笔记-------彻底理解管道
- Linux日志分析