部署Nginx
一,web服务器
1 2 3 4 5 6 7 8 | 1. 什么是web服务? web就是B / S架构 2.apache 网络模型 select poll 3.Nginx 官网:https: / / nginx.org / 软件:https: / / nginx.org / download / |
二,部署Nignx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1 ,yum安装 # 先去官网复制源代码 [root@web01 ~] # vim /etc/yum.repos.d/nginx.repo [root@web01 ~] # yum install nginx -y [root@web01 ~] # systemctl stop httpd [root@web01 ~] # systemctl start nginx 2 ,二进制安装 3 ,编译安装 [root@web01 ~] # wget https://nginx.org/download/nginx-1.20.2.tar.gz [root@web01 ~] # tar -xf nginx-1.20.2.tar.gz [root@web01 nginx - 1.20 . 2 ] # ./configure [root@web01 nginx - 1.20 . 2 ] # make [root@web01 nginx - 1.20 . 2 ] # make install |
三,平滑增加Nginx模块
1 2 3 4 5 6 | 增加模块必须重新编译。 [root@web01 ~] # tar -xf nginx-1.20.2.tar.gz [root@web01 ~] # cd nginx-1.20.2 [root@web01 nginx - 1.20 . 2 ] #./configure --with-http_ssl_module [root@web01 nginx - 1.20 . 2 ] #make [root@web01 nginx - 1.20 . 2 ] #make install |
四,Nginx的命令
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 | 1 、 - v : 打印版本号 [root@web01 ~] # nginx -v nginx version: nginx / 1.20 . 2 2 、 - V : 打印版本号和配置项 [root@web01 ~] # nginx -V nginx version: nginx / 1.20 . 2 built by gcc 4.8 . 5 20150623 (Red Hat 4.8 . 5 - 44 ) (GCC) built with OpenSSL 1.0 . 2k - fips 26 Jan 2017 TLS SNI support enabled configure arguments: - - prefix = / etc / nginx 3 、 - t : 检查配置文件 [root@web01 ~] # nginx -t nginx: the configuration file / etc / nginx / nginx.conf syntax is ok nginx: configuration file / etc / nginx / nginx.conf test is successful 4 、 - T : 测试配置文件并启动 5 、 - q :打印错误日志 6 、 - s : 操作进程 stop :停止 quit :退出 reopen :重启 reload :重载 7 、 - p : 指定nginx的工作目录 8 、 - e : 指定错误日志路径 9 、 - c : 指定配置文件的路径 10 、 - g : 设置一个全局的Nginx配置项 [root@web01 ~] # nginx -g 'daemon off;' |
五,Nginx配置文件
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 | 全局配置和模块配置 1 、全局配置 1 、user : 指定Nginx的启动用户 # www 2 、worker_processes : 定义Nginx的worker进程数 auto = = = CPU数量 3 、error_log : 错误日志路径 4 、pid : pid的存放文件路径 5 、events : 模块配置 5.1 、worker_connections :每一个worker进程最多同时接入多少个请求 5.2 、use : 指定Nginx的网络模型 6 、http : web服务的模块 6.1 、include : 加载外部的配置项 6.2 、default_type : 如果找不到文件的类型,则按照指定默认类型处理 6.3 、log_format : 定义日志格式 log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"service":"nginxTest",' '"trace":"$upstream_http_ctx_transaction_id",' '"log":"log",' '"clientip":"$remote_addr",' '"remote_user":"$remote_user",' '"request":"$request",' '"http_user_agent":"$http_user_agent",' '"size":$body_bytes_sent,' '"responsetime":$request_time,' '"upstreamtime":"$upstream_response_time",' '"upstreamhost":"$upstream_addr",' '"http_host":"$host",' '"url":"$uri",' '"domain":"$host",' '"xff":"$http_x_forwarded_for",' '"referer":"$http_referer",' '"status":"$status"}' ; access_log / var / log / nginx / access.log json ; 6.4 、sendfile : 高效读取文件 6.5 、keepalive_timeout : 长连接保持连接的 HTTP 1.0 短链接 HTTP 1.1 长连接 6.6 、server : 网址模块 6.6 . 1 、listen : 监听的端口 6.6 . 2 、server_name : 定义域名 6.6 . 3 、location : 访问路径 6.6 . 3.1 、root : 指定网址路径 6.6 . 3.2 、index : 指定网址的索引文件 |
小游戏搭建
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 | 1 、上传代码 [root@wen01 ~] # cd /opt [root@wen01 opt] # mkdir Super_Marie # 上传脚本 2 、编辑配置文件 # cd /etc/nginx/conf.d 第 2 cp game.conf game1.conf [root@web01 conf.d] # vim /etc/nginx/conf.d/game.conf # server { listen 80 ; server_name game.test.com; # location / { root / opt / Super_Marie; # index index.html; } } 3 、测试配置文件是否正常 [root@web01 conf.d] # nginx -t nginx: the configuration file / etc / nginx / nginx.conf syntax is ok nginx: configuration file / etc / nginx / nginx.conf test is successful 4 、重启Nginx [root@web01 conf.d] # systemctl restart nginx 5 、域名解析 C:\Windows\System32\drivers\etc\hosts 172.16 . 1.7 game.test.com |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构