Nginx

博客

web服务器和web框架的关系

web服务器(nginx):

接收HTTP请求(例如www.pythonav.cn/xiaocang.jpg)并返回数据

web服务器,仅仅就是 接收一个web请求,返回一个磁盘上的静态资源(jpg,gif,mp4,...)

pythonav.cn/man.jpg

错误码

50x 服务端错误,django flask后台 崩了

40x 客户端错误 权限不足 ,资源不存在等等...

30x 资源重定向

20x 请求正确返回

技术栈:

贵

java + apache(web服务器,处理静态资源) + oralce(数据库) + tomcat(处理java应用) + svn(代码托管) + js +jqery + redhat

为了省钱,切换开源技术栈

java + perl + python + nginx + mysql + git + js ... + centos

web框架(django,flask):开发web应用程序,处理接收到的数据

nginx安装步骤

源码编译安装(源码编译,可以自定制更多功能) openssl

  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

  1. 下载源代码

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

  1. 解压缩

tar -zxvf nginx-1.12.0.tar.gz

  1. 进入源码目录,编译安装

./configure --prefix=/opt/nginx112/

make && make install

  1. 进入nginx安装好的目录

cd /opt/nginx112/

  1. 学习nginx功能目录,nginx主目录结构如下

[root@s16ds nginx112]# ls

conf 配置文件nginx.conf(nginx的功能参数,都在这个文件定义了)

html 存放前端页面

logs 存放nginx的运行日志,错误日志

sbin 存放nginx可执行程序的目录

  1. 卸载原本的yum安装的nginx

yum remove nginx -y

  1. 添加nginx的环境变量,可以快捷使用nginx

vim /etc/profile

PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/node-v8.6.0-linux-x64/bin:/opt/nginx112/sbin"

  1. 命令

    • 开启nginx

      nginx

    • 重启nginx

      nginx -s reload

    • 关闭nginx

      nginx -s stop

  2. 学习nginx.conf 核心配置

nginx web 核心功能在这里已定义

  • 路径:

    vim /opt/nginx112/conf/nginx.conf

#工作进进程数
worker_processes 4;
# 日志配置
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info; pid logs/nginx.pid; events {
worker_connections 1024;
} http {
#定义nginx虚拟主机的
server {
#nginx监听的端口,默认浏览器是80
listen 80;
#填写服务器的域名,如果你有域名,nginx会解析到当前这个虚拟主机
#当我访问pythonav.cn:80
server_name pythonav.cn;
#location就是nginx的路径资源匹配,
#就是当我请求
#pythonav.cn
#pythonav.cn/man.jpg
#pythonav.cn/av/pian.mp4
#这个 location / 这个语法是万能匹配,你所有的请求,都会进入这个location
location / {
#这个root参数,用于定义网页根目录,路径
root html;
#定义网页的首页文件,名字且必须叫做index.html
index index.html index.htm;
}
# 错误 404 返回
error_page 404 /404.html;
}
...
}
  1. nginx多虚拟主机

    ip 和域名的关系 一对多

在linux服务器上,运行 2 个网站

nginx.conf定义多虚拟主机配置如下:

http{
# 虚拟主机1,我门用它运行,吃鸡网站
server{
listen 80;
# 当我访问的域名是 s16chiji.com ,就进入这个server标签
server_name s16chiji.com;
location / {
# 返回/opt/s16chiji目录下的内容
root /opt/s16chiji/;
index index.html;
}
}
# 虚拟主机2,用它运行,s16韩剧网站
server{
listen 80;
server_name s16hanju.com;
location / {
root /opt/s16hanju;
index index.html;
}
}
}
  1. 配置两个虚拟主机的网站资源

    1. 配置吃鸡网游的资料

      在 /opt/s16chiji 目录下创建 index.html

    2. 配置韩剧网址

      在/opt/s16hanju 目录下创建 index.html

    3. 配置两个本地解析的域名 ,问题?去linux下还是windows下配置??

      在本地 修改 C:\Windows\System32\drivers\etc\hosts 文件,写入如下配置

      192.168.15.71 s16chiji.com

      192.168.15.71 s16hanju.com

    4. 在windows下测试访问 是否正常

      s16chiji.com

      s16hanju.com

12.定义nginx错误页面优化 404页面定制

修改 **nginx.conf **,找到如下参数

#通过这个参数,定义错误页面的文件  ,当状态码是 404 400 401 时,返回40x.html页面  路径以root 路径拼接
error_page 404 401 400 403 /40x.html;
  1. nginx用访问 日志access.log

    找到nginx.conf开启如下功能

    http {
    include mime.types;
    default_type application/octet-stream;
    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;

    配置填写完毕后,重启nginx,加载功能

Nginx 配置 和安装的更多相关文章

  1. Linux环境下Nginx配置安装PHP

    下边的安装配置方法,我试了一晚上没有成功,可能因为我的系统环境比较复杂,所以建议: 先安装PHP.使用yum命令安装,在安装配置MySQL,具体做法看博客中其他文章,至于Nginx服务器可以安装完这两 ...

  2. centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...

  3. Nginx源码安装及调优配置

    导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优 ...

  4. nginx的配置与安装

    说说在Linux系统下安装配置Nginx的详细过程. 1. 从Nginx官网下载Nginx.目前最新的稳定版为:1.6.2. 2. 将下载下来的Nginx上传到/opt/nginx目录下.运行“tar ...

  5. Nginx与Tomcat安装、配置与优化

    Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...

  6. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  7. [Linux]于Mac在配置Linuxserver安装Nginx+PHP

    Linux 安装Debian系统 我安装的是Debian7.5的系统,Debian的软件包管理和升级十分方便,并且系统也非常稳定. 安装盘能够去华中科技大学镜像.网易开源镜像站或者中国科技大学镜像下载 ...

  8. nginx的yum安装,基本参数使用,编译参数说明和Nginx基本配置,模块安装

    nginx的yum安装从nginx官网获取源 vim /etc/yum.repose.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.or ...

  9. Nginx概述及安装配置

    1.概述 Nginx是一款开源的,高性能的Http和反向代理服务器,同时也是一个IMAP.POP3.SMTP代理服务器:Nginx可以作为一个HTTP服务器进行网站的发布处理,也可以作为反向代理进行负 ...

随机推荐

  1. VueJs 源码分析 ---(一) 整体对 vuejs 框架的理解

    vue-2.x SourceCode vue 2.x 源码解析 关于vue,以及为何要来写这份源码解析的原因 笔者从最开始接触到 vue 应该还是在 15年 10月份左右,当时听说 前端圈中发生很多的 ...

  2. 为OPENCV添加freetype支持并显示中文字符(在mac上编译opencv及contrib库)

    在mac电脑上管理这些gnu的库一般都使用Homebrew,但总有一些你个性化的需要是官方的Homebrew配方无法满足的.比如在屏幕的输出中使用中文字符. 在OPENCV中输出UTF8字符集早已经有 ...

  3. Asp.Net SignalR Hub类中的操作详解

    Hub类中的操作 在服务端我们要通过Hub类做一系列操作,下面就说说我们都可以做什么操作 客户端的发送消息操作 调用所有的客户端的helloClient方法 Clients.All.helloClie ...

  4. 【c#】RabbitMQ学习文档(七)C# API

    今天这篇博文是我翻译的RabbitMQ的最后一篇文章了,介绍一下RabbitMQ的C#开发的接口.好了,言归正传吧. Net/C# 客户端 API简介 主要的命名空间,接口和类 定义核心的API的接口 ...

  5. JDBC 异常简介 jDBC简介(六)

    SQL 异常简介 对于数据库的操作访问,必然也很可能抛出异常. JDBC中定义了SQLException,用于描述数据库相关操作中可能出现的异常情况. java.sql.SQLException    ...

  6. Android开发——EditText的属性使用

    最近使用的EditText控件,有些属性不太清楚,做一下笔记   判断EditText中内容是否为空 EditText多行显示 android:inputType="textMultiLin ...

  7. 记Android开发中的一些另类使用

    1.使用recyclerview,直接添加下列依赖就可以使用recyclerview,版本号与appcompat-v7版本号相同 compile 'com.android.support:design ...

  8. mac下 将python2.7改为python3

    1.查看当前电脑python版本 python -V // 显示2.7.x 2.用brew升级python brew update python 3.如果安装成功,去系统目录下回看到两个版本的pyth ...

  9. BZOJ5118: Fib数列2(二次剩余)

    题意 题目链接 题目链接 一种做法是直接用欧拉降幂算出\(2^p \pmod{p - 1}\)然后矩阵快速幂. 但是今天学习了一下二次剩余,也可以用通项公式+二次剩余做. 就是我们猜想\(5\)在这个 ...

  10. SAP MM 根据采购订单反查采购申请?

    SAP MM 根据采购订单反查采购申请? 前日微信上某同行发来一个message,说是想知道如何通过采购订单号查询到其前端的采购申请号. 笔者首先想到去检查采购订单相关的常用报表ME2L/ME2M/M ...