如何在centOS7中安装和配置nginx呢?
1.安装CentOS 7 EPEL仓库 1 sudo yum install epel-release
2.安装Nginx 现在Nginx存储库已经安装在您的服务器上,使用以下yum
命令安装Nginx :
在对提示回答yes后,Nginx将在服务器上完成安装。
3.启动Nginx Nginx不会自行启动。要运行Nginx,请输入:
1 sudo systemctl start nginx
如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:
1 2 3 sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
打开浏览器输入ip地址看到nginx的首页就说明你启动成功了
4.设置开机启动 1 sudo systemctl enable nginx
5.配置nginx 使用yum
进行安装的nginx的配置文件在/etc/nginx/nginx.conf
1 vim /etc/nginx/nginx.conf
nginx.conf: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes auto; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /var/log/nginx/error.log; pid /run/nginx.pid;#进程pid文件 # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { #单个进程最大连接数(最大连接数=连接数*进程数) #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为。 worker_connections 1024; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { 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指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。 #sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。 sendfile on; #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用 tcp_nopush on; tcp_nodelay on; #长连接超时时间,单位是秒 keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; #虚拟主机的配置 server { #监听端口 listen 80 default_server; listen [::]:80 default_server; #域名可以有多个,用空格隔开 server_name luischen.cn; # root /usr/share/nginx/html; # 重定向至https(按照需求) rewrite ^(.*)$ https://$host$1 permanent; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } # Settings for a TLS enabled server. server { # 监听433端口 listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name luischen.cn; #root /usr/share/nginx/html; # ssl证书 ssl_certificate "/etc/nginx/1_luischen.cn_bundle.crt"; ssl_certificate_key "/etc/nginx/2_luischen.cn.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; #以下是一些反向代理的配置,可选。 proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # location / { # 需要代理的端口-也就是nginx指向本地的端口 proxy_pass http://127.0.0.1:8091; # 超时时间 proxy_connect_timeout 600; proxy_read_timeout 600; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
6.nginx启动和停止命令 启动
1 sudo systemctl start nginx
停止
1 sudo systemctl stop nginx