一、知识点回顾

临时:关闭当前正在运行的
/etc/init.d/iptables stop
永久:关闭开机自启动
chkonfig iptables off ll /var/log/secure # 用户访问系统的记录,谁在什么时间链接了你的服务器,什么时候链接了 #安装lrzsz
yum install lrzsz -y
rz #windows文件上传到linux
sz #吧linux文件下载到windows
rpm -pa lrzsz #查看安装好了没有 .tar.gz
.zip #这种格式的压缩包是linux和windows默认支持的
unzip secure-20161219.zip #解压 xshell #远程连接
xftp #ftp工具
https://www.netsarang.com/download/down_form.html?code=523 #查看文件内容用cat ,,看日志的时候不用这个
#查看日志
1、less
2、head/dail
3、grep
f或空格 #向下翻页
b #想上翻页
grep 'Failed password' secure-20161219

二、练习题

1、简述一下linux的启动过程

  • 按下电源
  • 开机自检(检查内存cpu 硬件是否有问题)
  • MBR引导 #默认从硬盘的MBR启动
  • GRUB菜单 #启动的时候3 2 1 那个就是CRUB菜单
  • 加载内核
  • 运行INIT进程 #linux的第一个进程
  • 读取/etc/inittab配置文件
  • 执行/etc/rc.d/rc.sysinit脚本
  • 执行/etc/rc.d/rc脚本 #根据系统的运行级别,在开机的时候启动不同的软件
  • 启动mungetty进程

2、http的请求与响应过程

  • 1、域名解析
  • 2、浏览器发送tcp请求,建立tcp三次握手
  • 3、发送http请求,
  • 4、服务器收到请求返回给浏览器
  • 5、浏览器收到返回的结果,在页面进行渲染,解析HTML代码
  • 6、关闭连接

请求包括的:

  • 请求首行
  • 请求头
  • 空行
  • 请求体

响应包括的:

  • 响应首行
  • 响应头
  • 空行
  • 响应体
    curl www.baidu.com  #显示响应的内容
curl -v www.baidu.com #显示请求和响应的过程
> 表示请求
< 表示响应

三、nginx

Ngix是web服务器,跟apache一样,它可以做动态请求转发、web端负载均衡、反向代理等等;
tomcat是应用服务器,当然如果非用逼良为娼,也可做web服务器用,它主要是做Servlet容器用的,一般用在应用层,运行后台逻辑代码,访问数据库服务器等; 一般常见的网站,采用apache+tomcat+数据库或是Ngix+tomcat+数据库这三层物理架构;如果是大型网站应用,上面还会有一层硬件负载均衡F5。 从性能角度来讲Ngix的性能似乎要比apache略好,但从使用方便上来看,apache配置起来更方便,功能上都很强大,因为apache名气似乎更大一些,用的人就更多一些。

1、下载

[root@s6haiyanvm ~]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
ll -h nginx-1.12.2.tar.gz #查看多大
tar xf nginx-1.12.2.tar.gz #解压
cd nginx-1.12.2.tar.gz
ls -l
12一般偶数版的是稳定版本 ,基数是测试版

2、编译安装nginx前的准备

useradd -s /sbin/nplogin -M www #添加一个用户,-s和-M是吧用户变成虚拟用户号
id www
su - www

3、安装nginx的依赖包

#pcre-devel     perl语言的兼容正则表达式
#openssl-devel https
yum install pcre-devel -y
yum install openssl-devel -y
rpm -qa pcre-devel

4、编译安装nginx

pwd      #应该是在这个路径下/application/nginx-1.12.2
./configure --help
(1)./configure --user=www --group=www --prefix=/application/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module
--user :用户
--group : 用户组
--prefix :安装到哪里
两个模块: --with-http_stub_status_module --with-http_ssl_module
tree -L echo $? #表示以上一次的执行情况 ,返回0表示正确,返回1表示错误
(2)make #根据一些配置进行编译
(3)make install md5sum nginx/1.12.2.tar.gz #给这个压缩包创建个指纹,相当于身份证

5、查看

/application/nginx-1.12.2/sbin/nginx -t #检查是否语法错误
/application/nginx-1.12.2/sbin/nginx #执行命令
ss -lntup|grep 80 #查看安装好了没有
10.0.0.200 #在浏览器里面看页面,看搭建好了没有
curl -v 10.0.0.200 #在linux里面查看

6、nginx的常用配置

[root@oldboyedu-s6 nginx-1.12.2]# pwd
/application/nginx-1.12.2
[root@oldboyedu-s6 nginx-1.12.2]# ll
total 36
drwx------ 2 www root 4096 Mar 15 10:31 client_body_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 conf nginx配置文件的目录
drwx------ 2 www root 4096 Mar 15 10:31 fastcgi_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 html nginx站点目录 网站的根目录
drwxr-xr-x 2 root root 4096 Mar 15 10:31 logs nginx日志
drwx------ 2 www root 4096 Mar 15 10:31 proxy_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 sbin nginx命令
drwx------ 2 www root 4096 Mar 15 10:31 scgi_temp
drwx------ 2 www root 4096 Mar 15 10:31 uwsgi_temp

├── client_body_temp
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf #nginx的主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp
├── html
│   ├── 50x.html
│   └── index.html #网站默认的首页文件
├── logs
│   ├── access.log #访问日志
│   ├── error.log
│   └── nginx.pid
├── proxy_temp
├── sbin
│   └── nginx
├── scgi_temp
└── uwsgi_temp

#修改配置文件
egrep '#' #查看包含#的 egrep '^$' #空行
egrep '^$|#' conf/nginx.conf #排除空行或者#
egrep '^$|#' conf/nginx.conf.default > conf/nginx.conf
修改了配置文件记得重启一下
/application/nginx-1/sbin/nginx -s reload #优雅的重启
/application/nginx-1/sbin/nginx -s stop #优雅的停止(迫不得已才用的) /application/nginx-1/sbin/nginx

四、搭建一个小网站

1、修改nginx.conf文件

worker_processes  1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

2.创建环境

mkdir -p /application/nginx-1.12.2/html/{www,bbs,blog}  #创建多级目录
for name in www bbs blog;do echo $name.etiantian.org> /application/nginx-1.12.2/html/$name/index.html ;done
for name in www bbs blog;do cat /application/nginx-1.12.2/html/$name/index.html ;done

3.检查语法并重启

[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -t
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -s reload

4.windows测试 浏览器(注意缓存)

    (1)方式一:cat /etc/hosts  #修改host,域名解析

    10.0.0.200  www.etiantian.org bbs.etiantian.org blog.etiantian.org
www.eitiantian.org #浏览器输入测试 (2)方式二:
curl -H Host:www.etiantian.org 10.0.0.200 #修改host里面的host

5、排错流程:

1.linux命令行是否能显示
curl -vH Host:www.etiantian.org 10.0.0.200 2.windows 本地shell
ping

6、搭建多个

[root@oldboyedu-s6 nginx-1.12.2]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root html/bbs;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} } [root@oldboyedu-s6 nginx-1.12.2]# curl -H Host:bbs.etiantian.org 10.0.0.200
bbs.etiantian.org
[root@oldboyedu-s6 nginx-1.12.2]# curl -H Host:blog.etiantian.org 10.0.0.200
blog.etiantian.org

五、参数location的理解

“~”用于区分大小写(大小写敏感)的匹配;   ~ /images {}

“~*” 用于不区分大小写的匹配。还可以用逻辑操作符!对上面的匹配取反,即!~ 和 !~*。

“^~”作用是在常规的字符串匹配检查之后,不做正则表达式的检查,即如果最明确的那个字符串匹配的location配置中有此前缀,那么不做正则表达式的检查。
[root@oldboyedu-s6 nginx-1.12.2]# cat  conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; server {
listen 80;
server_name www.etiantian.org etiantian.org;
root html/www;
location / {
return 401;
} location /documents/ {
return 403;
}
location ^~ /images/ {
return 404;
}
location ~* \.(gif|jpg|jpeg)$ {
return 500;
}
}
} ^~
~*
/documents/
/ 第1名:“location ~* \.(gif|jpg|jpeg)$ {” 正则匹配
第2名:“location /documents/ {” 匹配常规字符串,如果有正则则优先匹配正则。
第3名:“location / {” 所有location都不能匹配后的默认匹配。 [root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200
HTTP/1.1 401 Unauthorized
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:13:41 GMT
Content-Type: text/html
Content-Length: 195
Connection: keep-alive [root@oldboyedu-s6 nginx-1.12.2]#
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/documents/index.html
HTTP/1.1 403 Forbidden
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:14:42 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive [root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/documents/w.jpg
HTTP/1.1 500 Internal Server Error
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:15:56 GMT
Content-Type: text/html
Content-Length: 193
Connection: close [root@oldboyedu-s6 nginx-1.12.2]#
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/images/www.jpg
HTTP/1.1 404 Not Found
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:16:52 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

linux之nginx的更多相关文章

  1. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  2. VMware Linux 下 Nginx

    负载   VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三) Weiseditor 2014-11-26 23:42 阅读:1 评论 ...

  3. [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  4. Linux+.NetCore+Nginx搭建集群

    本篇和大家分享的是Linux+NetCore+Nginx搭建负载集群,对于netcore2.0发布后,我一直在看官网的文档并学习,关注有哪些新增的东西,我,一个从1.0到2.0的跟随者这里只总结一句话 ...

  5. linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

    linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表 ...

  6. 阿里云Linux服务器安装 nginx+mysql+php

    阿里云Linux服务器安装 nginx+mysql+php步骤1.登录服务器2.下载安装包3.将安装包上传到服务器的/home目录下 注:使用rz sz命令进行本地和服务器间的上传.下载,安装命令yu ...

  7. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  8. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  9. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  10. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

随机推荐

  1. centos服务重启

    重启openstack的整个服务openstack-service restart 1. 重启dashboardservice httpd restart service memcached rest ...

  2. Golang面向API编程-interface(接口)

    Golang面向API编程-interface(接口) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Golang并不是一种典型的面向对象编程(Object Oriented Pr ...

  3. centos7环境下在线安装mysql

    卸载mariadb centos默认安装了mariadb,因此,在安装mysql之前,需要卸载系统中安装的mariadb. 查看系统中所有已安装的mariadb包.命令:rpm -qa | grep ...

  4. Hbase记录-HBase增删改查

    HBase创建数据   本章将介绍如何在HBase表中创建的数据.要在HBase表中创建的数据,可以下面的命令和方法: put 命令, add() - Put类的方法 put() - HTable 类 ...

  5. Said

    呃~~生活中的每天都会经历很多事儿,而影响结果的无非就是人对事物的处理方式和对事物的处理态度~~ 在上学期间,有时考试不理想,我都会进行反思,对不该错的题巩固在三,对不会做的题查缺补漏……因为不能不思 ...

  6. python遍历数组获取下标

    代码 通过枚举实现 a = [,,,,,] for i,j in enumerate(a): print i,j 结果

  7. 正方体旋转demo

    接着上一篇博客的内容顺藤摸瓜往下想,既然stage有景深这个概念,可以表达3D场景,那么这个stage就可以呈现立体几何咯,于是自己写了个Cubic Demo 一个正方体有6个面,我们把一个正方体平铺 ...

  8. Ubuntu 16.04及以上 安装/卸载 Docker-CE

    前言 本文仅针对Ubuntu 18.10.18.04.16.04的x86_64的OS与架构下的Docker-CE的安装 卸载老板本 如果已安装,请卸载它们: sudo apt-get remove d ...

  9. 大量界面刷新时手动Dispose也是有必要的

    在winform窗体上拖一个flowLayoutPane,一个Button,项目中再创建一个用户控件UcControl,用户控件上放几十个子控件 private void button1_Click( ...

  10. SEO之robots.txt

    [关键词:robot.txt,sitemap,User-Agent,Disallow,Allow][声明:摘自Wikipedia] 1. 定义:robots.txt(统一小写)是一种存放于网站根目录下 ...