安装 Nginx

  1. 打开Mac 的 Terminal
  2. $ brew install nginx
  3. $ sudo nginx
  4. 在浏览器里输入下面的地址,显示:

http://localhost:8080/

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

  1. nginx常用命令

1.找到nginx.conf,修改nginx.conf

cd /usr/local/etc/nginx/

vim nginx.conf

注意,如果访问网站会出现 403 错误,可以在 nginx.conf 的第一行将访问权限设置为 user root owner; 

2.检测是否配置正确

nginx -t

3.重启nginx 或者 停止掉nginx再启动nginx

有时候需要我们强制结束nginx,那么就需要我们查看nginx的进程号是多少,然后再kill掉

4.查看nginx通道,查找到进程号

ps -ef|grep nginx

5.杀掉nginx的进程

kill -9 进程号

//检查是否安装nginx及对应的目录

find /|grep nginx.conf

//启动Nginx

service nginx start

//重启nginx

service nginx restart

//关闭nginx

$ nginx -s stop

7、关闭 nginx

  • nginx -s stop:快速停止nginx
  • nginx -s quit:完整有序的停止nginx

其他的停止 nginx 方式:

  • ps -ef | grep nginx
  • kill -QUIT 主进程号:从容停止Nginx
  • kill -TERM 主进程号:快速停止Nginx
  • pkill -9 nginx:强制停止Nginx

    //查看nginx安装信息

brew info nginx

 Nginx.conf文件结构,主要由6个部分组成:

  1. nginx是一个功能非常强大的web服务器加反向代理服务器,同时又是邮件服务器等等
  2. 在项目使用中,使用最多的三个核心功能是反向代理、负载均衡和静态服务器
  3. 这三个不同的功能的使用,都跟nginx的配置密切相关,nginx服务器的配置信息主要集中在nginx.conf这个配置文件中,并且所有的可配置选项大致分为以下几个部
main                                # 全局配置

events {                            # nginx工作模式配置

    ....

}

http {                                # http设置

    ....

    server {                        # 服务器主机配置

        ....

        location {                    # 路由配置

            ....

        }

            upstream name {                    # 负载均衡配置

        ....

    }

}

​

​

main:用于进行nginx全局信息的配置

events:用于nginx工作模式的配置

http:用于进行http协议信息的一些配置

server:用于进行服务器访问信息的配置

location:用于进行访问路由的配置

upstream:用于进行负载均衡的配置

上述配置都是存放在main全局配置模块中的配置项

user用来指定nginx worker进程运行用户以及用户组,默认nobody账号运行

worker_processes指定nginx要开启的子进程数量,运行过程中监控每个进程消耗内存(一般几M~几十M不等)根据实际情况进行调整,通常数量是CPU内核数量的整数倍

error_log定义错误日志文件的位置及输出级别【debug / info / notice / warn / error / crit】

pid用来指定进程id的存储文件的位置

worker_rlimit_nofile用于指定一个进程可以打开最多文件数量的描述

http模块

作为web服务器,http模块是nginx最核心的一个模块,配置项也是比较多的,项目中会设置到很多的实际业务场景,需要根据硬件信息进行适当的配置,常规情况下,使用默认配置即可!

##

    # 虚拟主机配置

    ##

    include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

location模块

location模块是nginx配置中出现最多的一个配置,主要用于配置路由访问信息

在路由访问信息配置中关联到反向代理、负载均衡等等各项功能,所以location模块也是一个非常重要的配置模块

基本配置

location / {

    root    /nginx/www;

    index    index.php index.html index.htm;

}

location /:表示匹配访问根目录

root:用于指定访问根目录时,访问虚拟主机的web目录

index:在不指定访问具体资源时,默认展示的资源文件列表

反向代理配置方式

通过反向代理代理服务器访问模式,通过proxy_set配置让客户端访问透明化

location / {

    proxy_pass http://localhost:8888;

    proxy_set_header X-real-ip $remote_addr;

    proxy_set_header Host $http_host;

}

upstream模块

upstream模块主要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器

简单的配置方式如下

upstream name {

    ip_hash;

    server 192.168.1.2:8000;

    server 192.168.1.2:8001 down;

    server 192.168.1.2:8002 max_fails=3;

    server 192.168.1.2:8003 fail_timeout=20s;

    server 192.168.1.2:8004 max_fails=3 fail_timeout=20s;

}

核心配置信息如下

  ip_hash:指定请求调度算法,默认是weight权重轮询调度,可以指定

server host:port:分发服务器的列表配置

-- down:表示该主机暂停服务

-- max_fails:表示失败最大次数,超过失败最大次数暂停服务

-- fail_timeout:表示如果请求受理失败,暂停指定的时间之后重新发起请求

2.检查nginx.conf文件

cd /usr/local/nginx/sbin

./nginx -t      #查看nginx.conf文件是否有语法错误
出现如下字样,表示nginx.conf没有语法错误,配置成功

nginx: the configuration file /usr/local/nginx/conf/nginx.conf


3.启动nginx

cd /usr/local/nginx/sbin
查看进程:

./nginx -s reload
备注:这里启动的服务进程其实是4个进程,因为nginx进程在启动的时候,会附带一个守护进程,用于保护正式进程不被异常终止;如果守护进程一旦返现nginx继承被终止了,会自动重启该进程。
守护进程一般会称为master进程,业务进程被称为worker进程

常见问题:

nginx: [emerg] bind() to 0.0.0.0:80  failed  (98:   Address already in use)

解决nginx:[emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)错误:
错误原因:不能绑定80端口,80端口已经被占用。
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
解决方法:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ps -ef | grep nginx #查看进程
4.停止nginx,重新加载配置文件
执行命令:kill –INT进程号
启动成功
5.访问站点

nginx命令

创建软连接:

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

nginx -s reload ## 重新载入配置文件
nginx -s reopen ## 重启 Nginx
nginx -s stop # #停止 Nginx

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值