导读:

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,从2007年被德国人开发出来后可以说在市场的占有率一路飙升,因为它支持高并发,而且还能阻止dos攻击,它是当前较具影响力的一个http服务器软件,像百度等大厂都使用它,所以这是作为一个运维人必须学会的软件。

安装

配置好yum源:

 [root@network yum.repos.d]# cat aliyun.repo
[rhel7]
name=ali base
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0 #阿里云epel
[epel]
name=ali epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0 #阿里云extras
[extras]
name=ali extras for centos 7
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
enabled=1
gpgcheck=0
 yum -y install nginx

直接启动就可以使用了

咱们就先来试下

 systemctl start nginx

查看下端口

 [root@network ~]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 51970/nginx: master
tcp6 0 0 :::80 :::* LISTEN 51970/nginx: master

使用elinks访问一下,或者你也可以用图形化界面的浏览器去访问

 [root@network ~]# elinks http://192.168.10.101

主要文件:

 配置目录      /etc/nginx
主程序 /usr/sbin/nginx
启动脚本 /usr/lib/systemd/system/nginx.service
默认站点目录 /usr/share/nginx/html
日志目录 /var/log/nginx

再了解下主配置目录下的目录结构

 [root@network ~]# tree /etc/nginx/
/etc/nginx/ # 主进程目录
├── conf.d # 子进程目录
│ ├── default.conf # 虚拟主机模板配置文件
│ └── example_ssl.conf # https虚拟主机模板配置文件
├── fastcgi_params # 程序变量
├── koi-utf
├── koi-win
├── mime.types # 文件扩展名与文件类型映射表
├── nginx.conf # 主配置文件
├── scgi_params
├── uwsgi_params
└── win-utf

其他文件就不介绍了,因为我们也很少会用到,挑重点给大家

 基本配置

为了方便了解主配置文件的内容,我们查看并过滤掉空行来了解

 [root@network ~]# cat /etc/nginx/nginx.conf | grep -v "^$"
user nginx; # 所有子进程所使用用户身份/etc/passwd里查看
worker_processes 1; # 开机Nginx的进程数
error_log /var/log/nginx/error.log warn; # 错误日志
pid /var/run/nginx.pid; # 记录进程PID号的文件
events {
worker_connections 1024; # 每个进程最大链接数,可以是65535
}
http {
include /etc/nginx/mime.types; # 文件扩展名与文件类型映射表
default_type application/octet-stream; # 默认文件类型
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # 定义maim日志记录类型
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; # 访问日志
sendfile on; # 搞笑文件传输模式
#tcp_nopush on; # 配置一次发送数据的包大小,必须和sendfile一起使用
keepalive_timeout 65; # 保持链接超时时间
#gzip on; # 压缩
include /etc/nginx/conf.d/*.conf; # 读取目录下以.conf的文件,加载进来
}

一:进程管理

 [root@network ~]# cat /etc/nginx/nginx.conf | grep -v "^$"
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}

就这段,进程管理我们只要看两个数值就可以

进程:worker_processes 1;

这个跟你主机的CPU有关,是与CPU的核心数成倍数的,假如你的CPU核心数是双核,那就配置4进程,如果四核就是配置为8进程,同理

线程:worker_connections 1024;

这个是线程,是单个进程所允许打开的线程数量,最高可以配置65535,但还是得根据你操作系统设置的最大文件打开数量有关

 # 查看当前文件打开数量值
[root@network ~]# ulimit -n
1024
# 设置为65535
[root@network ~]# ulimit -HSn 65535
[root@network ~]# ulimit -n
65535

如果你服务器系统默认设置的是1024,而你nginx设置为65535,启动时不会报错,但在你执行检查语法的时候就会报以下错误

 [root@network ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

二:虚拟主机配置

讲完进程,我们就来配置下虚拟主机,学过Apache就知道它可以配置很多个虚拟主机,且可以通过不通的域名访问到不通的虚拟主机,所以我们也来配置下Nginx的虚拟主机。

先进去到子进程配置文件里,我们拷贝模板文件后来进行修改。
站点的域名就使用www.zhou.com

 [root@network ~]# cd /etc/nginx/
[root@network nginx]# ls
conf.d fastcgi_params mime.types scgi_params win-utf
default.d fastcgi_params.default mime.types.default scgi_params.default
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
[root@network nginx]# vim nginx.conf

把配置文件里不重要的东西我们先给它删了,剩下我们要的配置就可以


修改完创建一个主页文件index.html

 [root@network nginx]# echo "hello nginx" >/usr/share/nginx/html/index.html

重启nginx服务

 [root@network nginx]# systemctl restart nginx

更改hosts文件

 echo '192.168.100.101 www.zhou.com' >>/etc/hosts

快速安装Nginx及配置详解(未完待续)的更多相关文章

  1. Windows-008-VirtualBox 安装 Win7 前沿配置详解

    此文主要讲述在 Windows 系统下安装虚拟机 VirtualBox,及用 VirtualBox 安装 Win7 Professional 64bit 操作系统的前沿配置为例,配以图文进行详细的讲解 ...

  2. Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解

    一.概述     Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...

  3. Nginx 核心配置详解

    目录 Nginx 核心配置详解 Nginx 四层访问控制: Nginx账户认证功能: 自定义错误页面: 自定义访问日志: 检测文件是否存在: 长连接配置: 作为下载服务器配置: 作为上传服务器: 其他 ...

  4. nginx.conf配置详解

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  5. Nginx的配置详解

    人无再少年,花有重开日——风城玫瑰 德里克·罗斯 Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡. Ngin ...

  6. Nginx location配置详解

    上一篇博客Nginx配置详解已经说过了nginx 的基本配置情况,今天来详细讲述一下nginx的location的配置原则, location是根据Uri来进行不同的定位,location可以把网站的 ...

  7. Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解

    一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...

  8. nginx安装升级及配置详解

    1.简介 2.安装配置 3.配置文件介绍 4.启动.停止.平滑重启.升级 一.Nginx简介 Nginx(engine x)是俄罗斯人Igor Sysoev编写的一款高性能的http和反向代理服务器. ...

  9. 【转】 linux 安装nginx及编译参数详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf  nginx-1.7.4.tar.g ...

随机推荐

  1. jstack命令dump线程信息

    jstack命令dump线程信息 D:\Java\jdk1.8.0_05\bin>jstack.exe 6540 > dump17 6540为java 线程pid: 出来的dump17文件 ...

  2. Vue小技巧,如何导入普通JS文件

    最近在开发一个展示3D模型的WEB程序,在工程中使用了VUE和ThreeJS库.Three.js本身是支持CommonJS的,但我们还用到了OBJLoader模块,此模块不支持CommonJS,改成C ...

  3. angularjs 标签指令

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  4. C++学习第一天--编译命令

    前一个月的时间主要是在捯饬自己的ubuntu vim环境,昨天终于都搞好了,从今天开始,学习C++.至于为什么学习C++,其实很大一部分原因还是因为自己喜欢vim,又听说vim对C++的支持还不错,所 ...

  5. bzoj3931: [CQOI2015]网络吞吐量(spfa+网络流)

    3931: [CQOI2015]网络吞吐量 题目:传送门 题解: 现在有点难受....跳了一个多钟...菜啊... 题意都把做法一起给了....最短路+网路流啊. 不想说话...记得开long lon ...

  6. 使用google API之前需要對input 做什麼 安全性的處理?

    我正要使用node.js 和 google map api做一个小应用,Google MAP API的使用URL如下: https://maps.googleapis.com/maps/api/pla ...

  7. PostgreSQL Replication之第八章 与pgbouncer一起工作(1)

    当您在使用大规模的设施工作,可能有时候,您必须处理许多并发打开的连接.没有人会使用十台服务器来为两个并发用户提供服务--在许多情况下,这根本没有意义.大量的设施通常会处理成百上千的并发连接.引入连接池 ...

  8. python 中的property

    """ property() 的第一个参数是 getter 方法,第二个参数是 setter 方法 xx = property(a,b) @property #用于指示g ...

  9. linux命令find命令详解

    find 查找文件 find 哪里 什么类型 什么名字 -maxdepth 最大的深度 查找目录的最大深度    find -maxdepth 1 -type d -type 找什么类型的 f fil ...

  10. python 命令行下的命令参数

    本文所介绍的命令或许是在依赖包里使用的,说白了,我不太清除,由于刚开始学习,所以对知识了解不清楚,按说学习本应该学以解惑,可是为了把知识面展开的太广而影响主要知识的学习,我决定抓住主要矛盾,把有些困惑 ...