Nginx安装以及Nginx的配置文件

2021-03-11  本文已影响0人  chenxuyuan123

一:Nginx安装

源码编译(1.版本随意 2.安装复杂 3.升级繁琐)
epel仓库(1.版本较低 2.安装简单 3.配置不易读)
官方仓库(1.版本较新 2.安装简单 3.配置易读,推荐)
这里我们使用官方仓库源yum安装nginx

1.1 到官网上找到最新的yum源

image.png
image.png
image.png

1.2 根据官网提示安装最新的nginx仓库源

[root@web01-7 /]# cat /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装nginx

先安装依赖包
[root@web01-7 ~]# yum install openssl-devel pcre-devel -y
在安装nginx
[root@web01-7 /]# yum install -y nginx

1.3 查看nginx版本

[root@web01-7 /]# nginx -v
nginx version: nginx/1.18.0

1.4 查看nginx安装哪些模板

[root@web01-7 /]# nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

1.5 启动nginx服务

[root@web03-9 ~]# systemctl start nginx 
[root@web03-9 ~]# systemctl enable nginx

1.6 如果修改 nginx配置文件,使用reload重启最佳

[root@web03-9 ~]# systemctl reload nginx.service

1.7 检查nginx语法

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

二:nginx配置文件

2.1 nginx主配置文件/etc/nginx/nginx.conf

[root@web03-9 ~]# cat /etc/nginx/nginx.conf 

user  nginx;                                    #定义运行nginx进程的用户         
worker_processes  1;                    #Nginx运行的work进程数量(建议和cpu数量一致或者auto)

error_log  /var/log/nginx/error.log warn;       #nginx错误日志
pid        /var/run/nginx.pid;                           #nginx运行的pid


events {
    worker_connections  1024;                  #每个worker进程的最大连接数
}


http {
    include       /etc/nginx/mime.types;     #nginx支持的媒体类型库文件
    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  /var/log/nginx/access.log  main;      #访问日志保持格式

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;                           #连接超时时间,如果tcp连接超过65s就会重连;设置为0时视为短连接,代表每请求一次,tcp都会重连

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;                #包含子配置文件
}

2.2 默认的子配置文件

[root@web03-9 ~]# sed -nr '/^$|#/!p' /etc/nginx/conf.d/default.off 
server {
    listen       80;                                    #指定监听端口
    server_name  localhost;                             #指定监听的域名
    location / {
        root   /usr/share/nginx/html;                   #定义站点目录
        index  index.html index.htm;                    #定义首页文件
    }
    error_page   500 502 503 504  /50x.html;        
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

说明:
http server location 扩展了解项
http{}层下允许有多个 Server{}层,一个 Server{}层下又允许有多个 Location
http{} 标签主要用来解决用户的请求与响应。
server{} 标签主要用来响应具体的某一个网站。
location{} 标签主要用于匹配网站具体 URL 路径

三:简单搭一个主页

3.1 创建站点配置文件

先备份默认子配置文件

[root@web02-8 conf.d]# mv default.conf{,.off}
[root@web02-8 conf.d]# ls
default.conf.off

配置站点文件

[root@web02-8 www]# vim /etc/nginx/conf.d/cxy.conf 

server {
        listen 80;
        server_name game.cxytest.com;
        location / {
        root /cxy_code/www/;
        index index.html;
        }
}

3.2 创建站点目录

[root@web02-8 conf.d]# mkdir /cxy_code/www -p
[root@web02-8 www]# vim index.html 
hello cxy

3.3 重载nginx

检查语法是否错误
[root@web02-8 www]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重载nginx
[root@web02-8 www]# systemctl reload nginx

3.4 正常访问

修改电脑hosts文件省略


image.png
上一篇下一篇

猜你喜欢

热点阅读