热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx搭建与部署02

nginx服务添加模块1.安装依赖[rootweb02nginx-1.16.1]#yuminstall-yopensslopenssl-devel2.再生成一次[rootwe

nginx服务添加模块

1.安装依赖
[root@web02 nginx-1.16.1]# yum install -y openssl openssl-devel2.再生成一次
[root@web02 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx-1.16.1-new --user=www --group=www --without-http_gzip_module --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'3.安装
[root@web02 nginx-1.16.1]# make && make install4.重做软连接
[root@web02 ~]# rm -rf /usr/local/nginx && ln -s /usr/local/nginx-1.16.1-new /usr/local/nginx5.重启服务
[root@web02 nginx-1.16.1]# systemctl restart nginx###.nginx升级1.下载新版本的包
[root@web02 ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz2.解压
[root@web02 ~]# tar xf nginx-1.18.0.tar.gz3.生成
[root@web02 nginx-1.18.0]# cd nginx-1.18.0
[root@web02 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx-1.18.0 --user=www --group=www --without-http_gzip_module --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_module4.编译安装
[root@web02 nginx-1.18.0]# make && make install5.重做软连接
[root@web02 ~]# rm -rf /usr/local/nginx && ln -s /usr/local/nginx-1.18.0 /usr/local/nginx6.重启服务
[root@web02 ~]# systemctl restart nginx
17.脚本编译安装合成
#/bin/bash
mkdir /server/nginx -p
wget -O/server/nginx/nginx.tar.gz http://nginx.org/download/nginx-1.18.0.tar.gz &>/dev/null
cd /server/nginx && tar xf nginx.tar.gz -C . && rm -rf nginx.tar.gz
groupadd www -g 666 && useradd www -u 666 -g 666 -M -s /sbin/nologin
cd /server/nginx/nginx-1.18.0
./configure --user=www --group=www --prefix=/usr/local/nginx-1.18.0 --without-http_rewrite_module --without-http_gzip_module
make && make install &>/dev/null
echo 'export PATH=$PATH:/usr/local/nginx-1.18.0/sbin' > /etc/profile.d/nginx.sh && source /etc/profile
source /etc/profile
#需要手动创建配置文件,添加以下内容,可用systemctl管理,启动、开机自启等
#vim /usr/lib/systemd/system/nginx.service
#[Unit]
#Description=nginx
#After=network.target
#[Service]
#Type=forking
#PIDFile=/usr/local/nginx-1.18.0/logs/nginx.pid
#ExecStart=/usr/local/nginx-1.18.0/sbin/nginx
#ExecReload=/usr/local/nginx-1.18.0/sbin/nginx -s reload
#ExecStop=/usr/local/nginx-1.18.0/sbin/nginx -s stop
#PrivateTmp=true
#[Install]
#WantedBy=multi-user.targesystemctl restart nginx

Nginx相关文件

为了让大家更清晰的了解Nginx软件的全貌,可使用rpm -ql nginx查看整体的目录结构及对应的功能,如下表格整理了Nginx比较重要的配置文件

Nginx主配置文件

路径 类型 作用/etc/nginx/nginx.conf 配置文件 nginx主配置文件
/etc/nginx/conf.d/default.conf 配置文件 默认网站配置文件## 2.Nginx代理相关参数文件
路径 类型 作用
/etc/nginx/fastcgi_params 配置文件 Fastcgi代理配置文件
/etc/nginx/scgi_params 配置文件 scgi代理配置文件
/etc/nginx/uwsgi_params 配置文件 uwsgi代理配置文件### 3.Nginx编码相关配置文件
路径 类型 作用
/etc/nginx/win-utf 配置文件 Nginx编码转换映射文件
/etc/nginx/koi-utf 配置文件 Nginx编码转换映射文件
/etc/nginx/koi-win 配置文件 Nginx编码转换映射文件
# /etc/nginx/mime.types 配置文件 Content-Type与扩展名### 4.Nginx管理相关命令
路径 类型 作用
/usr/sbin/nginx 命令 Nginx命令行管理终端工具
/usr/sbin/nginx-debug 命令 Nginx命令行与终端调试工具### 5.Nginx日志相关目录与文件
路径 类型 作用
/var/log/nginx 目录 Nginx默认存放日志目录
/etc/logrotate.d/nginx 配置文件 Nginx默认的日志切割

nginx 主配置文件

Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}来表示开始与结束。Nginx主配置文件整体分为三块:CoreModule(核心模块)
EventModule(事件驱动模块)
HttpCoreModule(http内核模块)#### nginx -t 检查配置

配置文件内容

[root@web01 ~]# cat /etc/nginx/nginx.conf #########################核心模块####################
#指定启动的用户
user www;
#nginx的worker进程的数量worker_processes 1;#指定错误日志存放的路径以及记录的级别 (调试)debug/info/notice/warn/error/emergerror_log /var/log/nginx/error.log warn;#指定pid文件pid /var/run/nginx.pid;########################事件驱动模块#################events {#每个worker工作进程的最大连接数worker_connections 1024;
}######################http内核模块(网站模块)###################http {#包含,nginx可识别的文件类型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;#开启压缩#gzip on;#包含网站的配置文件include /etc/nginx/conf.d/*.conf;[root@web01 ~]# vim /etc/nginx/conf.d/default.conf --- 下面是这个文件里面的内容#一个server表示一个网站server {#监听端口listen 80;#网站提供的域名server_name localhost;#字符集charset utf8;#匹配、控制访问的网站站点location / {#指定站点目录root /usr/share/nginx/html;#指定默认访问的页面index index.html index.htm;}}

搭建小游戏

### 1.编写史上最简单配置 -方式1
[root@web01 ~]# cat /etc/nginx/conf.d/gamem.conf
server {listen 80;server_name localhost;location / {root /mm/tanke;index index.html;}}### 2.检查配置文件[root@web01 tanke]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful### 3.创建站点目录、指定配置文件[root@web01 ~]# mkdir -p /mm/tanke
[root@web01 ~]# cd /mm/
[root@web01 mm]# ll
total 0
drwxr-xr-x 2 root root 6 Mar 30 20:43 tanke### 4.上传代码包
[ro[root@web01 tanke] #rz
[root@web01 game] unzip tank.zip
[root@web01 tanke]# ll
total 4
drwxr-xr-x 2 root root 140 Apr 11 2015 audio
drwxr-xr-x 2 root root 6 Mar 30 20:50 Battle_City
drwxr-xr-x 2 root root 25 Apr 11 2015 css
drwxr-xr-x 2 root root 58 Sep 24 2015 images
-rw-r--r-- 1 root root 1661 Sep 24 2015 index.html
drwxr-xr-x 2 root root 261 Apr 11 2015 js
###5、修改源文件
[root@web01 mm]# cd /etc/nginx/conf.d/ --- 这2个文件发生冲突
[root@web01 conf.d]# ll
total 8
-rw-r--r-- 1 root root 1093 Oct 29 23:21 default.conf
-rw-r--r-- 1 root root 121 Mar 30 20:42 gamem.conf
[root@web01 conf.d]# mkdir a
[root@web01 conf.d]# mv default.conf a/
[root@web01 conf.d]# ll
total 4
drwxr-xr-x 2 root root 26 Mar 30 20:52 a
-rw-r--r-- 1 root root 121 Mar 30 20:42 gamem.conf
### 6、重新启动生效
[root@web01 game] systemctl restart nginx## 7.访问页面玩游戏成功## 方式二# 1.修改文件
[root@web01 ~]# cat /etc/nginx/conf.d/gamem.conf
server {listen 80;#server_name localhost;server_name www.games.com; => 把lo改成calhost改成www.games.comlocation / {root /mm/tanke;index index.html;}}# 2.重启nginxsystemctl restart nginx# 3.配置windows下的hostswin+r 输入drivers打开etc,hosts文件10.0.0.7 www.game.com

在这里插入图片描述


再搭建一个游戏

## 1.编辑配置文件#可在一个.conf文件里添加多个游戏,每个游戏分隔单独server块,或在/game下每个游戏单独建立一个.conf文件,这样的话容易分辨:## 1.单个文件配置多个游戏[root@web01 ~]# cd /etc/nginx/conf.d/
[root@web01 conf.d]#
[root@web01 conf.d]# ll
total 4
drwxr-xr-x 2 root root 26 Mar 30 20:52 a
-rw-r--r-- 1 root root 153 Mar 30 21:06 gamem.conf
[root@web01 conf.d]# cp gamem.conf xgame.conf
[root@web01 conf.d]# ll
total 8
drwxr-xr-x 2 root root 26 Mar 30 20:52 a
-rw-r--r-- 1 root root 153 Mar 30 21:06 gamem.conf
-rw-r--r-- 1 root root 153 Mar 30 21:18 xgame.conf
### 2.编辑conf结尾的文件
# 1.[root@web01 conf.d]#vim xgame.conf
server {listen 80;server_name www.mm.com;location / {root /mm/mofang;index index.html;}
}# 2.[root@web01 mm]# cat /etc/nginx/conf.d/xgame.conf
server {listen 80;#server_name localhost;server_name www.mm.com;location / {root /mm/mofang;index index.html;}}
#3.上传代码包并解压
[ro[root@web01 tanke] #rz
[root@web01 game] unzip mofang.zip
[root@web01 mm]# ll
total 0
drwxr-xr-x 4 root root 45 Apr 1 2019 mofang
drwxr-xr-x 7 root root 91 Mar 30 20:50 tanke
# 4.重启nginxsystemctl restart nginx# 5.配置windows下的hosts --多保存几次win+r 输入drivers打开etc,hosts文件10.0.0.7 www.game.comwww.mm.com

在这里插入图片描述


推荐阅读
author-avatar
kshen24
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有