第九章 Nginx 配置

一、云服务器准备

1.品牌:阿里云、百度云等

2.服务器系统:CentOS7.0 以上 64位,拿到公网IP

3.开通所需要的端口:比如80,8080

一、CentOS设置

 基本操作

启动    Systemctl start firewalld.service
停止    Systemctl stop firewalld.service
重启    Systemctl restart firewalld.service ||firewall-cmd reload
开机启动    Systemctl enable firewalld
开机禁用    Systemctl disable firewalld
查看防火墙状态    Firewall-cmd --state
端口操作 
查看已开放端口    Firewall-cmd --list-ports
开启端口    Firewall-cmd --zone=public --add-port=80/tcp --permanent
关闭端口    Firewall-cmd --zone=public --remove-port=80/tcp --permanent
查某端口状态    Firewall-cmd --query-port=80/tcp
重启防火墙    Firwall-cmd --reload

三、Nginx 安装

1.Window + r 打开终端 cmd 回车

2.连接服务器:ssh root@ip  回车后输入密码

3.nginx安装

安装    yum install nginx
卸载    yum remove nginx
查看是否安装成功    nginx -v
查看安装文件位置    nginx -t
指定配置文件    nginx -t “目录” 

4.下载nginx配置文件

scp root@ip:”配置文件目录” “本地路径”
事例: scp root@39.101.184.90:/ect/nginx/nginx.conf C:/xxxx 

5.上传nginx配置文件

scp “本地路径” root@ip:”配置文件目录”
事例: scp  C:/xxxx root@39.101.184.90:/ect/nginx/nginx.conf 

6.上传dist包文件夹

scp -r ./dist/* root@ip:/目录地址 

7.开启服务器文件夹权限

Chmod -R 777 xxxx 

8.nginx其他命令

查找路径    whereis nginx
启动     Service nginx start
查看版本    nginx -v
停止    nginx -s stop
退出    nginx -s quit
重启加载配置    nginx -s reload

四、Iptables配置

CentOS 7 中默认是firewall防火墙,如果使用iptables需要先关闭firewall防火墙

安装iptables

检查是否安装    service iptables status
安装iptables    yum install -y iptables
安装iptables-services    yum install -y iptables-services
注册iptables服务    systemctl enanble iptables.service
开启服务    systemctl start iptable,service
查看状态    systemctl status iptable,service

Iptables 配置

#配置filter表
###允许 22 80 443 端口进入
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCPET
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCPET
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCPET

VIM 配置

i 键:编辑内容
esc :退出当前操作
Shift + q:退出
wq :保存并退出

五、Nginx基础配置

nginx 文件结构

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。 
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。 
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。 
4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。 
5、location块:配置请求的路由,以及各种页面的处理情况。

上面是nginx的基本配置,需要注意的有以下几点:

1、几个常见配置项:

  • 1.$remote_addr $http_x_forwarded_for 用以记录客户端的ip地址;
  • 2.$remote_user :用来记录客户端用户名称;
  • 3.$time_local : 用来记录访问时间与时区;
  • 4.$request : 用来记录请求的urlhttp协议;
  • 5.$status : 用来记录请求状态;成功是200
  • 6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;
  • 7.$http_referer :用来记录从那个页面链接访问过来的;
  • 8.$http_user_agent :记录客户端浏览器的相关信息;

2、惊群现象:一个网路连接到来,多个睡眠的进程被同时叫醒,但只有一个进程能获得链接,这样会影响系统性能。

3、每个指令必须有分号结束。

posted @ 2020-07-31 18:43  王家小子1990  阅读(145)  评论(0编辑  收藏  举报