Nginx安装以及Nginx的配置文件
2021-03-11 本文已影响0人
chenxuyuan123
一:Nginx安装
源码编译(1.版本随意 2.安装复杂 3.升级繁琐)
epel仓库(1.版本较低 2.安装简单 3.配置不易读)
官方仓库(1.版本较新 2.安装简单 3.配置易读,推荐)
这里我们使用官方仓库源yum安装nginx
1.1 到官网上找到最新的yum源
image.pngimage.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