nginx如何安装 以及nginx的配置文件

Nginx 网站服务

是一个高性能 轻量级web服务软件,

高新能:对http并发连接的处理能很高,单台处理器可支持30000-50000个并发请求,(一般设置在20000个左右)

轻量级:nginx软件很小,安装所需的空间很小

稳定性强:对系统资源消耗低

Nginx 的主要功能:

1处理静态网页:html htm 图像

2 支持反向代理(实现负载均衡,负载均衡靠算法实现)

3 处理动内容的能力

4 一个nginx可以配置多个虚拟主机,每一个虚拟主机可以作为一个域名的站点,拥有独立的配置和资源

5 URL重定向:可以对URL 的请求进行修改和重定向

6 缓存机制,可以缓存静态文件的额动态内容

7 包含日志记录,服务日志,访问日志,报错日子 控制日志还是在/var/log/messsages

8 代理服务器,通过代理可以访问其他的后端服务器

2 Nginx 下面的文件

nginx如何安装 以及nginx的配置文件_第1张图片

conf :    保存nginx的所有配置文件 其中nginx.conf是nginx的配置文件

html:     保存nginx的web 文件 .html为结尾的文件,图片

logs:     保存日志的日录,路径可以改

Sbin: nginx 的二进制启动文件

html下面的

50x.html是nginx默认的报错提示页面

access.log 记录的是访问日志记录 error.log 记录的是报错日志

nginx-t 检测nginx配置文件以及配置文件的语法是否正确

被http占用

nginx -v 只是查看nginx的版本

nginx -V 查看版本 和nginx支持的配置模块

nginx -s stop restart reload  给nginx主程序发送信息,不能开启nginx服务

如何安装nginx:

1、systemctl stop firewalld

systemctl disable firewalld

setenforce 0

2、安装依赖包

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

3、创建运行用户、组

(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx

4、编译安装Nginx

cd /opt

tar zxvf nginx-1.22.0.tar.gz -C /opt/

cd nginx-1.22.0/

./configure --prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_v2_module \

--with-http_realip_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--with-pcre \

--with-stream \

--with-stream_ssl_module \

--with-stream_realip_module

5、make && make install

6、chown -R nginx.nginx /usr/local/nginx #修改权限

7、ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ #让系统识别nginx的操作命令

8、vim /lib/systemd/system/nginx.service

[Unit]

Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/run/nginx.pid

#注意文件位置,如果不对 启动不了

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

#注意启动文件位置

ExecReload=/bin/kill -s HUP $MAINPID

#相当于重启

ExecStop=/bin/kill -s TERM $MAINPID

#相当于stop

[Install]

WantedBy=multi-user.target

#支持多用户模式

9、mkdir -p /usr/local/nginx/run/

#创建目录

10、vim /usr/local/nginx/conf/nginx.conf

#修改配置文件

pid /usr/local/nginx/run/nginx.pid;

#找到 pid的位置修改  

11、systemctl daemon-reload

#重新加载配置

12、systemctl start nginx.service

配置文件

user  nobody;

运行用户,默认使用nginx。

worker_processes  1;

工作进程数量,根据服务器的CPU数来填写或根据访问量来选择(硬件条件满足的情况下)。

pid /usr/local/nginx/run/nginx.pid;

PID文件的完整。

events {

    worker_connections  1024;

}

nginx服务端可以同时并发的连接数,最多只有1024个。

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;

    sendfile        on;

支持文件的下载功能。

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

连接保持时间65。

    #gzip  on;

开启页面的压缩功能。

    server {

        listen       80;

虚拟主机的监听端口,多个虚拟主机端口的区分。

        server_name  localhost;

站点的域名

        #charset koi8-r;

        charset utf-8

配置字符的默认编码,支持中文

        #access_log  logs/host.access.log  main;

        location /liu {

匹配URI的路径,也是名称 / 配置的家目录下

            root  /opt;

匹配的是安装路径当中位置 html

            alias /opt/liu;

alias 加全部路径 不能与上面的拼接

            index  index.html index.htm;

都是index开头,而且.html .htm

Vim nginx.conf

只能修改了系统配置文件(Vim /etc/security/limits.conf #限制系统打开的配置文件

) 才能限制连接数

注意:设置保存后,需要重新ssh连接才会看到配置更改的变化
vim  /etc/security/limits.conf

nginx如何安装 以及nginx的配置文件_第2张图片

nginx如何安装 以及nginx的配置文件_第3张图片

#最大进程数的软限制 65535

#最大进程数的硬限制65535

#打开文件的限制最大65535

修改之后只能重启

Iptables 修改内核文件 用sysctl -p 直接生效  但是这里的limits.conf 必须要重启reboot

这3个都是全局的配置文件

vim nginx.conf

nginx如何安装 以及nginx的配置文件_第4张图片

vim nginx,conf

http块:代理缓存日志虚拟主机的第三方模块

nginx如何安装 以及nginx的配置文件_第5张图片

Nginx的功能模块

proxy:代理功能 核心的模块之一,配置反向代理的功能

proxy_passz指定 定义在locationg中,根据location来的

headers功能模块:

处理请求和头部的响应信息,获取客户端的真实ip

upstream模块:

七层方向代理模块,只能配置在http模块中,或者stream模块中这里配置

Stream :四层反向代理模块,只能写在全局配置当中

只能写在http模块上面  或者最下面

你可能感兴趣的:(nginx,运维)