06 Nginx
1.检查linux上是否通过yum安装了nginx
rpm -qi nginx
2.解决安装nginx所依赖包
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
3.源代码编译安装Nginx(在/opt目录下)
1.下载淘宝Nginx源码包wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz2.解压缩源代码tar -zxvf tengine-2.3.0.tar.gz3.进入到tengine-2.3.0目录,进行编译安装cd tengine-2.3.04.释放编译文件,指定安装路径.configure --prefix=/opt/tengine5.开始编译且安装make&&make install6.卸载之前通过yum安装的Nginxyum remove nginx -y7.查看nginx的安装目录ls /opt/tengineconf:存放nginx所有的配置文件的目录html:存放前端静态页面logs:存放nginx的日志目录sbin:存放nginx的可执行的命令8.配置nginx的环境变量,支持快速启动(命令行直接nginx)1.cd /opt/tengine/sbin2.pwd3.vim /etc/profilePATH中加入pwd的结果9.启动nginxnginx10.修改nginx的首页静态模板文件vim /opt/tengine/html/index.html输入你想要显示的内容
4.修改nginx的配置文件的
1.vim /opt/tengine/conf/nginx.conf
#查看nginx.conf的内容,过滤掉注释内容,和空白行[root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"#全局变量,工作进程数worker_processes 1;events {epoll;#提高大并发下小活动量的CPU利用率worker_connections 65536; #根据linux的文件描述符来修改}#http代表nginx核心功能块http {include mime.types;default_type application/octet-stream;gzip on; #开启压缩图片功能#代表nginx的虚拟主机功能#当我们访问192.168.226.128:80/就进入这个虚拟主机的配置#第一个虚拟主机dnf网址server {#nginx监听的端口listen 80;#填写服务器的域名,没有域名就写ip地址即可server_name 192.168.226.128;#路径资源匹配 ,匹配 / 目录#192.168.226.128:80/#这是最低级匹配,所有的请求,都会进入这个locationlocation / {#root参数指的是定义一个虚拟主机根目录root html; #填写静态模板文件的绝对路径#index参数指定首页文件的名字index index.html;}#第二个虚拟主机 韩剧网址server {listen 80;#监听80端口server_name 192.168.226.128;服务器的iplocation / {root /opt/s18hanju/;index index.html;}}}
2.nginx功能学习
1.修改windows下的host文件,顶一个假域名c:windows/system32/drivers/etc/hosts如果不能编辑,右击选择属性,改变它的权限信息.2.在最下面写入linux的IP 域名192.168.119.147 www.hahahn.com这样就可以通过域名访问了3.配置nginx多虚拟机,其实就是在nginx.conf中写入多个server,代表多个虚拟主机server {listen 80;server_name www.s18dnf.com;location / {root /opt/s18dnf/;index index.html index.htm;}}#第二个虚拟主机 韩剧网址server {listen 80;server_name www.s18hanju.com;location / {root /opt/s18hanju/;index index.html;}}注意事项:1.两个server同在http核心模块中的同一级目录2.server_name如果对应的是本机的IP地址,虚拟主机是自上而下加载的,也就是说不管输 入什么在windows的hosts文件配好的假域名,都只会匹配到第一个虚拟主机3.如果server_name对应的是域名,则nginx会根据域名找到与之匹配的域名对应的虚拟主机4.修改完nginx.conf文件要平滑重启nginx -s reloadnginx -t 查看是否有语法错误5.nginx的状态模块功能学习1.修改nginx.conf的配置文件找到一个server虚拟主机,写入如下配置location /status {stub_status on;}2.重启nginx,在对应域名后加 /status 加载这个status状态模块功能3.通过ab压测命令,去给网站发起n多个请求安装ab压测命令工具yum -y install httpd-tools4.给服务器nginx,发起一万个请求ab -kc 1000 -n 10000 http://192.168.226.128/5.nginx的access.log访问日志功能编辑nginx.conf打开如下配置参数打开如下注释log_format main '$remote_addr - $remote_user [$time_local] "$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;重启nginx查看logs下的日志文件,检测用户请求信息tail -f logs/access.log,然后用浏览器访问时,就会看到日志的变化.6.优化nginx的404页面修改nginx.conf的404错误页面优化找到如下配置#当错误状态码是 40x系列就返回,nginx目录下的40x.htmlerror_page 404 403 402 400 401 /40x.html;重启nginx 查看404页面(输入正确的url,后面再随便加点东西)7.限制IP访问找到nginx.conf修改如下代码location / {#禁止192.168.226.0/24 这个地址段所有的ip访问deny 192.168.226.1;root /opt/s18dnf;index index.html index.htm;}8.nginx反向代理功能准备两台机器,一个是真实的资源服务器,另一个是反向代理服务器,分别安装nginx一个能正常返回资源,另一个的nginx.conf,找到一个server虚拟主机,location /配置如下:location / {# proxy_pass http://代理的主机IPproxy_pass http://192.168.119.147}重启nginx,然后访问代理服务器,就会访问到另一台资源服务器的资源
5.出现的问题
浏览器出现403(访问权限不足)
1.将资源写在了/root下面,普通用户访问不到2.找到nginx.conf中deny屏蔽掉了此IP地址,删除禁止就好了.
06 Nginx的更多相关文章
- 06 nginx Location详解之精准匹配
一:Location详解之精准匹配 location 语法 location 有”定位”的意思, 根据Uri来进行不同的定位. 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分, ...
- 06 . Nginx静态资源缓存
Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...
- nginx cpu高排查
首先查看nginx的error日志,无异常打印. cpu占用如下图所示: top - 10:05:40 up 233 days, 16:28, 4 users, load average: 25.53 ...
- 八.nginx网站服务实践应用
期中集群架构-第八章-期中架构nginx章节====================================================================== 01. web ...
- nginx高并发下配置参数
今天下午,测试组同事模拟800个用户同时发起请求,nginx开始报错, "Too Many Open Files" 我们使用的是Dell R430服务器,2个物理CPU,每个CP ...
- linux下如何启动nginx?
命令: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ........... [root@localhost sbin ...
- Nginx之常用基本配置(三)
前面我们聊了下了Nginx作为WEB服务器对客户端请求相关配置,文件操作优化.Nginx访问控制.basic验证,.状态模块状态页.gzip压缩配置:回顾请参考https://www.cnblogs. ...
- 神器 Nginx 的学习手册 ( 建议收藏 )
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...
- Linux 提高操作效率之 tab 命令补全
最近在使用阿里云 ECS 时,发现 Centos 无法进行 tab 补全,特别影响操作效率,本文简单记录下 Linux 下的 tab 命令补全功能,希望对 Linux 初学者有所帮助. 安装 Linu ...
随机推荐
- 【Blog怎么玩】什么叫EntryName友好地址名?
EntryName友好地址名 其实就是你这个页面的别名,如果设置的好的话,在SEO搜索中,会更清晰的显示出来. 好处1:清晰的URL 比如我有一篇展示可爱兔子的博文,我想让它的网址清晰的显示出来,而不 ...
- koa 项目实战(二)连接 mongodb 数据库
1.配置文件 根目录/config/keys.js module.exports = { mongoURI: 'mongodb://127.0.0.1:27017/mongodb' } 2.启动文件 ...
- OpenCV学习笔记(14)——轮廓的性质
提取一些经常使用的对象特征 1.长宽比 边界矩形的宽高比 x,y,w,h = cv2.boundingRect(cnt) a ...
- image-webpack-loader在mac或ubuntu报错
解决办法安装libpng库,在github issue https://github.com/tcoopman/image-webpack-loader/issues/49可查看 mac: brew ...
- 八十六:redis之RDB和AOF两种数据持久化机制
详见:http://redisdoc.com/persistence/index.html redis.conf RDB机制 改为5秒内1次 文件已生成 关闭RDB,注释掉3个save,重启redis ...
- 关于springmvc的包含list提交的格式
<%-- Created by IntelliJ IDEA. User: jh Date: 2017/7/12 Time: 14:31 To change this template use F ...
- Linux crontab 每5秒钟执行一次 shell 脚本 的方法
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...
- wpf 父控件和子控件 各自触发鼠标按下事件
父控件 PreviewMouseDown子控件 MouseDown
- C# WPF Border控件总结
Border控件不是一个布局面板,而是一个非常便于使用的元素,经常与布局面板一起使用.所以,在继续介绍其他布局面板之前,现在先介绍一下Border控件是有意义的. Border类非常简单.它只能包含一 ...
- NOIp2018D1T1 积木大赛 【思维】
题目传送门 感觉不是很难,但是需要一些思考... 可以发现,贪心地向尽量大的区间添加,但是存在一些比较小的数,它们不需要再加了,就会从那个地方断成两个区间.所以刚开始想到的做法就是统计每一种数的数量, ...