web服务器软件
IIS (windows底下的web服务器软件)

Nginx (Linux底下新一代高性能的web服务器)
Tengine www.taobao.com 这是淘宝

Apache (Linnux上个时代的,老企业会选择apache)
http://www.gov.cn/

Linux发起网络请求命令 curl

闭源技术架构
redhat + apache + oracle + java + nagios(监控服务器软件) + SVN(代码托管平台)
走向开源
centos + nginx + mysql + python + saltstack(运维软件,可以在一台机器上,管理多个机器)+ zabbix(监控软件) + git()

不同的python框架支持的QPS吞吐量是多少呢? 通过ab这个命令,压测软件来测试一个不同(启动10个并发请求,发起10000个连接),运行django,运行flask

、运行tornado

flask 600 req/s
django 1000..
tornado(异步非阻塞) 2000...
sanic (python3.7之后的一个异步框架。uvloop出) ,3000...

golang
net/http 6W (很多互联网公司,知乎(py2 > golang),滴滴都在python > golang )


编译安装nginx:

1.解决依赖关系  

  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

2.下载源码包
  wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
3.解压缩源码包
  tar -zxvf nginx-1.12.0.tar.gz

4.在当前路径下通过configure这个脚本文件执行,释放makefile,然后指定安装nginx的路径,以及开启模块功能ssl与状态模块功能这里的当前路径,

  这里是指进入到已经解压好后的安装包中,再执行下面的命令代码.

  ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module

5.编译且编译安装

  make && make install  

    分开: 先  make 然后是 make install

6.在/opt/nginx1-12/ 安装好nginx的目录,找到一个sbin的文件夹,找到nginx的启动命令,然后启动nginx服务

  1.检查nginx安装后的目录,ll /opt/nginx1-12

    drwxr-xr-x 2 root root 333 12月 6 09:32 conf 配置文件存放的目录, nginx.conf这个文件就是nginx的主配置文件

    drwxr-xr-x 2 root root 40 12月 6 09:32 html 存放网页根目录的文件夹,存放了index.html **.html **.gif **.jpg

    drwxr-xr-x 2 root root 6 12月 6 09:32 logs 日志目录

    drwxr-xr-x 2 root root 19 12月 6 09:32 sbin nginx启动脚本目录

    注: 上面的操作,在任何补录都可以执行. 只要出现上面几条就表示安装成功. 多了没事, 不能少!!

  2.nginx的可执行命令

    - rwx(user) r-x(group) r-x(other) 1 root(属主) root(属组) 5656000 12月 6 09:32 sbin/nginx

      7              5                5

./sbin/nginx  #直接启动nginx

./sbin/nginx -s stop  关闭nginx

./sbin/nginx -s reload  #平滑重启(修改了nginx配置文件,不重启服务就加载配置且生效)

../sbin/nginx -t  检测nginx.conf 配置文件的语法正确性  ..表示以上一级目录为相对路径.

  对应路径下 ./sbin/nginx -t

7.检查端口,进程,然后通过浏览器访问nginx页面,192.168.12.96:80

  在nginx 启动后, 输入自己虚拟机的ip地址. 然后连接就好.(端口号默认为80)

  ifconfig:  linux中查看本机ip地址命令

  注意 : 如果验证时连接不上, 有可能是虚拟机的防火墙问题.

      iptables -L #查看规则

      iptables -F #清空规则

      systemctl stop firewalld #关闭防火墙服务

      systemctl disable firewalld #从开机自启中,移除这个防火墙服务,永久关闭

      临时关闭selinux setenforce 0

      ----上面的测试过.----

      注意

      永久关闭selinux,需要重启生效

      vim /etc/selinux/config

      写入以下配置

      SELINUX=disabled

      #重启服务器生效,selinux永久disabled

8.nginx的主配置文件,nginx.conf修改

 #虚拟主机1
server {
listen 80;
server_name www.s14huoying.com; #这里是nginx通过这个参数,来定位不同的虚拟主机
#代表访问nginx的匹配路径
location / {
#指明网页根目录在/data/huoying/文件夹下
root /data/huoying/;
index index.html index.htm;
} #虚拟主机2
server {
listen 81;
server_name www.s14hanjutv.com; #这里是nginx通过这个参数,来定位不同的虚拟主机
#代表访问nginx的匹配路径
location / {
#指明网页根目录在/opt/html/文件夹下
root /data/hanju/;
index index.html index.htm;
} 上面的连个虚拟机中要注意格式,
并且, 需要把对应的监听端口 80 和81 添加到C:\Windows\System32\drivers\etc下的hosts中 PS:这是自己电脑的测试中
例子:
192.168.12.104:80 www.s14huoying.com
192.168.12.104:81 www.s14hanjutv.com
  直接写在末尾就好


  


#一台服务器,安装了一个web服务软件

#假设我超弟想创业,准备2个网站,展示不同的片

#资源浪费,一个服务器至少也是50G的磁盘,浪费钱

一个服务器,安装一个web软件,展示一个页面

再主板一个服务器,再安装一个web软件,展示一个页面

卖片,火影忍者     www.s14huoying.com  展示不同的网站资料,mp4,图片,动态图,html静态资源,超链接

卖片,韩剧TV       www.s14hanjutv.com  展示不同的网站资料,mp4,图片,动态图,html静态资源,超链接

nginx多虚拟主机,在一台机器上,安装一个nginx,运行多个虚拟主机,不同的虚拟主机,返回不同的页面

#多虚拟主机的配置
1.修改nginx底下的conf/nginx.conf ,修改信息如下
server {
listen 80;
server_name www.s14huoying.com;
location / {
#指明网页根目录在/opt/html/文件夹下
root /data/huoying;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.s14hanju.com;
location / {
#指明网页根目录在/opt/html/文件夹下
root /data/hanju;
index index.html index.htm;
}
} 上面的连个虚拟机中, 需要把对应的监听端口 80 和81 添加到C:\Windows\System32\drivers\etc下的hosts中 PS:这是自己电脑的测试中
例子:
192.168.12.104:80 www.s14huoying.com
192.168.12.104:80 www.s14hanjutv.com
其中的端口号也可以忽略不写. 系统默认会使用80端口. 2.重新加载nginx配置文件
../sbin/nginx -t #检测语法
../sbin/nginx -s reload #平滑重启 3.准备不同的虚拟主机的站点资料
mkdir -p /data/{huoying,hanju}
放入不同的资料如下
├── hanju
│   ├── hanju.jpg
│   └── index.html
└── huoying
├── index.html
└── mingren.jpg 4.写入到本地dns解析文件,由于我是在windows中通过浏览器访问,应该在windows的hosts文件中添加记录
hosts文件就是一个本地dns(就是将域名转化成ip地址)强制解析的文件 windows的hosts文件就在这里:C:\Windows\System32\drivers\etc\hosts ,写入如下信息 192.168.12.96 www.s14huoying.com
192.168.12.96 www.s14hanju.com



5.在windows中,测试访问多域名配置

nginx状态模块功能:
1.在配置文件中,添加一个参数即可
location /status {
stub_status on;
} nginx访问日志功能:
1.在配置文件中,打开注释,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; 参数详解:
$remote_addr 记录客户端ip
$remote_user 远程用户,没有就是 “-”
$time_local    对应[14/Aug/2018:18:46:52 +0800]
$request     对应请求信息"GET /favicon.ico HTTP/1.1"
$status     状态码
$body_bytes_sent  571字节 请求体的大小
$http_referer  对应“-”  由于是直接输入浏览器就是 -
$http_user_agent  客户端身份信息
$http_x_forwarded_for  记录客户端的来源真实ip 97.64.34.118 打开了功能之后,可一通过access_log查看用户身份信息
192.168.12.60 - - [06/Dec/2018:11:24:04 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" "-" nginx的错误页面优化:
1.在配置文件中添加 nginx.conf
  将error_page 400 401 402 404 /40x.html; 写入到nginx.conf文件中.
server { listen 80; server_name www.s14huoying.com; location / { #指明网页根目录在/opt/html/文件夹下 root /data/huoying; index index.html index.htm; deny 192.168.12.120; } error_page 400 401 402 404 /40x.html; #当请求来自于wwww.s14huoying.com/status/ }

在配置404页面的时候, 需要将错误提示页面添加到 /data/下的同名文件中.


  

Nginx的安装与基本应用的更多相关文章

  1. Nginx服务安装配置

    1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...

  2. Django Nginx+uwsgi 安装配置

    使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttp ...

  3. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  4. nginx的安装

    1,,nginx的安装 为什么使用nginx我就不多说了,很优秀的,请再行google 在安装前,先安装pcre,安装zlib,安装openssl,以及一些其他包 yum install -y gcc ...

  5. nginx编译安装

    Nginx编译安装 1.nginx官网:http://wiki.nginx.org/Install下载:http://nginx.org/en/download.html 2.编译安装# wget h ...

  6. nginx 的安装

    一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl ...

  7. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  8. nginx的安装与配置

    1.nginx的安装与配置 编译安装nginx需要实现安装开发包组“Development tools”和“Server Platform Development”.“Desktop Platform ...

  9. nginx笔记----安装

    nginx的安装 ./configure make && make install (一)准备条件: 1.GCC---gun编译器集合 Nginx是一个由C语言编写的程序,因此首先需要 ...

  10. Linux下Nginx的安装、升级及动态添加模块

    系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...

随机推荐

  1. iOS CoreData (一) 增删改查

    代码地址如下:http://www.demodashi.com/demo/11041.html Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映 ...

  2. 【PHP】组合条件搜索SQL

    前端html多个搜索条件组合 后台一个sql语句,很方便和简洁:仅提供思路. 也可以配合着进行分页操作,非常赞~

  3. 利用POI进行Excel的导出

    需求:将用户的违约金信息导出为excel表格格式 步骤 1. 数据库中增加按钮的值(注意上级编号要和页面隐藏域中的相等) DZ内容(页面加载时根据SJBH查询数据库内容,读取DZ字段信息并加载样式及方 ...

  4. Linux 目录和文件操作

    Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...

  5. python selenium--常用函数3

    ActionChains类鼠标操作的常用方法: 引入ActionChains类:from selenium.webdriver.common.action_chains import ActionCh ...

  6. 盘点SEO和SEM的优劣势

    如果你不知如何分配你的搜索营销预算,或是和客户提案的时候不知道怎么样去解释搜索营销产品(SEO和SEM)的区别,又或者不了解网站/企业在当前阶段应该优先施行哪种搜索营销策略,本文可以帮助你深入了解SE ...

  7. c#中abstract、override、new、virtual、sealed使用

    abstract     修饰类名为抽象类,修饰方法为抽象方法.如果一个类为抽象类,则这个类智能是其他某个类的基类.抽象方法在抽象类中没有函数体.抽象类中的抽象方法是没有方法体的,继承其的子类必须实现 ...

  8. homebrew osx下面最优秀的包管理工具

    官方网站:https://brew.sh/index_zh-cn 安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubuserconten ...

  9. Windows下Python添加MySQLdb扩展模块

    [更新 2012-09-16] 这里可以下载已经打包好的EXE文件,http://sourceforge.net/projects/mysql-python/(国内需穿越才可访问) DBank备份下载 ...

  10. 点滴积累【JS】---JS小功能(JS实现多物体缓冲运动)

    效果: 思路: 利用setInterval计时器进行运动,offsetWidth实现宽度的变动,在用onmouseover将终点和所选中的DIV放入参数再进行缓冲运动. 代码: <head ru ...