第三期
目标
1.修改云主机名字为RC-001和UAT-001
进入pk生态服务平台云主机页面,将前两期买的主机修改为RC-001和UAT-001
2.去阿里云购买域名
登录阿里云注册后进行域名购买,之后进入控制台中的域名控制台,点击解析
进入后点击添加记录,输入对应信息,其中记录值为我们之前配置了的弹性公网ip
将配置好的两台云主机都添加进去,之后就能通过域名访问啦,(▽)
3.nginx禁用ip访问
为什么要禁止ip访问页面呢?
这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生。
进入nginx配置文件
加入如下规则
listen 80;
server_name rc001.chenpengan.top;
if ($host != 'rc001.chenpengan.top') {
return 403;
}
一定要注意空格这些!!!
然后进入sbin/运行./nginx -s reload然后发现当我们再次输入弹性公网ip想访问时已经不可能了。
成功(^-^)V
(注意一下centos和kylin的配置文件存放地方的不同)
4.查看nginx日志
nginx日志都放在logs文件夹下,可以先去nginx.conf看下默认日志的格式
5.自定义日志
修改nginx.conf
加入自定义的日志格式,如
log_format custom '$remote_addr - "$request" '
'$status $body_bytes_sent "$http_referer" ';
自定义某一个server配置的日志,使用“custom ”日志格式。
access_log logs/custom.access.log custom;
:wq保存,然后reload配置。
再次访问时就可以看到logs文件下又生成一个custom.access.log的文件,查看后的日志格式正如我们自定义的格式,搞定!
(注意kylin或ubantu的nginx日志文件是放在/var/log/nginx下的,所以对应目录要改改)
6.配置按日进行滚动日志
nginx的日志文件没有rotate功能。编写每天生成一个日志,我们可以写一个nginx日志切割脚本来自动切割日志文件。
- 创建一个脚本文件
touch /usr/local/nginx/logs/nginxsavelog_byday
内容如下:
#!/bin/bash
#安装目录下日志文件
base_path='/usr/local/nginx/logs/access.log'
base_path2='/usr/local/nginx/logs/error.log'
#需要保存的目录位置
log_path='/usr/local/nginx/logs/nginx_logs_byday'
#获取月份
log_month=$(date -d yesterday +"%Y%m")
#获取当天日期
log_day=$(date -d yesterday +"%d")
#在指定位置创建文件夹
mkdir -p $log_path/$log_month
#将安装目录下的日志文件,移动到指定存储位置
mv $base_path $log_path/$log_month/access_$log_day.log
mv $base_path2 $log_path/$log_month/error_$log_day.log
#再使用信号控制切割日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
- 赋权
chmod -R 755 /usr/local/nginx/logs/nginxsavelog_byday
- 输入crontab -e设置定时任务,内容为:
* 0 * * * /bin/sh /usr/local/nginx/logs/nginxsavelog_byday
时间格式
- 测试一遍:执行脚本
/bin/sh /usr/local/nginx/logs/nginxsavelog_byday
- 查看结果
在 /usr/local/nginx/logs/下可看见新建的日志文件
- 结束,次日查看生成日志文件
- 在kylin主机上再配一次
这里要注意你的access_log,error_log,nginx.pid等存放的地址要与脚本中对应的地址对应才能正确执行代码
7.新增端口8080也可以访问
在nginx配置中新增一个server,listen设为8080即可
8.限制自己的手机ip访问
先在百度中输入ip查看自己的手机公网ip,然后在nginx配置中的location中增加自己的手机ip地址即可
9.cookie在nginx中的应用
cookie存在$http_cookie这个字段中
获取某cookie值:
set $JSESSIONID_TOKEN "";
if ($http_cookie ~* "JSESSIONID=([\w-]+?)(?=;|$)") {
set $JSESSIONID_TOKEN "$1";
}
然后再日志中输出就行了
10.通过chrome在不同网速下访问时长和返回的结果
测试地址1
测试地址2
参考网址
https://www.cnblogs.com/xuzhengzong/articles/9956860.html
https://blog.csdn.net/aizhishiren2010/article/details/91046231