nginx常用操作命令以及请求转发

启动nginx

nginx安装目录 -c nginx配置文件
nginx安装目录在linux上可以用whereis nginx来查找,mac上不行。
mac上可以直接执行 nginx -c nginx配置文件路径。通常配置文件路径 /usr/local/etc/nginx/nginx.conf

示例

nginx -c /usr/local/etc/nginx/nginx.conf

注意有时候直接执行nginx会报错,提示命令不存在。
这时候用whereis nginx找到nignx安装目录,然后写完整的nginx路径即可,后面再加-c /usr/local/etc/nginx/nginx.conf。但是这并非长久之计,应该要把该nginx加入环境变量,具体方法可百度之。


关闭nginx

如果nginx已经开启了,再次执行nginx -c 命令时,会报错。此时应先关闭nginx。
先找到nginx相应端口的进程,比如8086

lsof -i:8086

会列出被占用8086端口的进程,找到对应的pid,

kill <pid>

再重新启动nginx,回到第一个问题。

nginx -c  /usr/local/etc/nginx/nginx.conf

重启nginx

修改conf配置后,需要重启nginx。
nginx -s reload


nginx http请求转发

情景:

前后端分离的情况下,假如前端在http://localhost:4000,而后端接口在http://localhost:3000。如果前端直接调后端接口,会存在跨域问题。这时候可以通过nginx将前端的接口转发到后端接口上,可以完美地解决跨域问题。通常需要把前端的接口增加一个层级,比如api,以便在nginx上可以较好地管理不同请求的转发。

示例:

如果将http://localhost:4000/api/identity.json接口转发到http://localhost:30000/user/identity.json,写法如下:

location /api/ {
  proxy_pass http://localhost:3000/user/;
}

注意:

  • lcoation后面的大括号不能有
  • proxy_pass末尾要有;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容