1. log_format 指定日志的格式 log_format name format
$remote_addr和$http_x_forwarded_for:记录ip地址* $remote_user:记录客户端的用户名称 $time_local:记录访问时间和时区* $request:记录请求的URL和HTTP协议 $status :记录请求状态
$body_bytes_sent :记录发送给客户端的文件的主体内容的大小 $http_referer:记录从哪个页面链接过来的 $http_user_agent:记录客户端浏览器的信息
2. access_log 指定日志的存放路径
问题: 日志轮替
写一个日志轮替的脚本,结合计划任务。1周替换一个新的日志文件? --------------
农场和斗地主: --------------
斗地主:
server ip : 192.168.7.221
[root@localhost s1]# yum install -y httpd mysql-server php php-mysql
[root@localhost html]# pwd /var/www/html
[root@localhost html]# ls ddz
[root@localhost html]# chmod -R 777 ddz/
[root@localhost html]# /etc/init.d/mysqld start
mysql> create database ddz;
mysql> grant all on ddz.* to ddzuser@\
mysql> flush privileges;
[root@localhost html]# vim +391 /etc/httpd/conf/httpd.conf DirectoryIndex index.php index.html index.html.var
[root@localhost html]# /etc/init.d/httpd restart
网页安装:http://192.168.7.221/ddz/install.php 服务器:localhost 数据库:ddz DB帐号:ddzuser DB密码:123456
QQ农场:
server ip : 192.168.7.221
[root@localhost s1]# yum install -y httpd mysql-server php php-mysql
[root@localhost Desktop]# ls
flash-plugin-10.1.102.65-release.i386.rpm qq农场.zip
[root@localhost Desktop]# unzip qq农场.zip -d /var/www/html/
[root@localhost html]# pwd /var/www/html
[root@localhost html]# mv upload/ qq [root@localhost html]# ls ddz qq
[root@localhost html]# chmod -R 777 qq
[root@localhost html]# /etc/init.d/mysqld start
mysql> create database qq;
mysql> grant all on qq.* to qquser@\
mysql> flush privileges;
[root@localhost html]# vim +391 /etc/httpd/conf/httpd.conf DirectoryIndex index.php index.html index.html.var
[root@localhost html]# /etc/init.d/httpd restart
[root@localhost qq]# pwd /var/www/html/qq
[root@localhost qq]# mysql qq < qqfarm.sql
使用的架构: LAMP:linux apache mysql php LNMP:linux nginx mysql php
====================== 验证: ====== apache: authname authtype authuserfile required user
nginx:加在虚拟主机里面
auth_basic \
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
创建这个 文件:/usr/local/nginx/conf/.htpasswd htpasswd
[root@localhost conf]# which htpasswd /usr/bin/htpasswd
[root@localhost conf]# rpm -qf `which htpasswd` httpd-2.2.3-43.el5
[root@localhost conf]# htpasswd -c /usr/local/nginx/conf/.htpasswd n1 New password:
Re-type new password: Adding password for user n1
[root@localhost conf]# htpasswd /usr/local/nginx/conf/.htpasswd n2 New password:
Re-type new password: Adding password for user n2
[root@localhost conf]# cat .htpasswd n1:xA0Jx3dx/8.oE n2:FlQ41ysXnHIPM
重启nginx: kill -HUP pid
打开浏览器,访问页面,如果出现验证的提示,就OK了。
=================== Rewrite ----------
URL 的 Rewrite,就是 URL 重写。 index.html index.jsp asp?asdhka903249871fsda 伪静态化 重定向 --> 静态页面 index.html /htdocs/ww1/index.html
location ~ /index\\.html
写在虚拟主机里:
location ~ /index\\.html { deny all; }
写完了别忘了重启服务。
location ~ /index\\.html { return 404; }
location ~ /.*\\.html$ { return 404; }
[root@localhost ww1]# pwd /htdocs/ww1
[root@localhost ww1]# ls index.html
[root@localhost ww1]# echo 123 > 123.html [root@localhost ww1]# echo 456 > 456.html
location ~ /123\\.html {
rewrite ^/123\\.html$ http://ww1.nginx.com/456.html; }
index.jsp asp?asdhka903249871fsda index.jsp\\?.*
================================ 反向代理+负载均衡
软件 7层 负载均衡:nginx L7SW( layer 7 )
配置nginx:
http { ......
upstream uplook { #定义一个 server_pool,里面有一组服务器 server 192.168.7.202; #这是3个apache的ip server 192.168.7.203; server 192.168.7.204; } server {
listen 80; location / {
proxy_pass http://uplook;
proxy_next_upstream http_500 http_502 http_503 invalid_header;
include /usr/local/nginx/conf/proxy.conf; } ...
[root@localhost conf]# vim proxy.conf proxy_redirect off;
error timeout
proxy_set_header Host $host; #设置由后端服务器获取用户的主机名
proxy_set_header X-Real_IP $remote_addr; #设置后端服务器获取用户的真实ip地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #设置有后端服务器获取代理者的真实ip
client_body_buffer_size 128k; #用于指定客户端请求主体缓冲区大小 proxy_connect_timeout 90; #后端服务器连接的超时时间 proxy_send_timeout 90; #后端服务器的数据传回时间 proxy_read_timeout 90; #nginx从代理的后端服务器获取信息的时间 proxy_buffer_size 4k; #缓冲区的大小 proxy_buffers 4 32k; #缓冲区的数量和大小
proxy_busy_buffers_size 64k; #系统繁忙的时候,能够使用的缓冲区大小 proxy_temp_file_write_size 64k; #指定代理缓存文件的大小
[root@localhost nginx]# ./sbin/nginx -t
这种反向代理的方式是 轮询:
upstream uplook { #定义一个 server_pool,里面有一组服务器 server 192.168.7.202; #这是3个apache的ip server 192.168.7.203; server 192.168.7.204; }
这种反向代理的方式是 设置权重值,默认是1,权重值越高分配的请求越多 upstream uplook {
server 192.168.7.202 weight=1; server 192.168.7.203 weight=2; server 192.168.7.204 weight=3; }
这种反向代理的方式是 ip_hash; upstream uplook { ip_hash;
server 192.168.7.202; server 192.168.7.203; server 192.168.7.204; } 1