Nginx配置跨域请求 | 幸福的猪窝

Nginx配置跨域请求

最近部署服务器需要使用自己编译的 tengine 复制好编译好的文件后发现每次启动都要到服务器所在目录调用nginx太麻烦还要记录各种参数。尤其是这次的运行的路径和我编译时预设的不一样。要加一大堆参数。所以爆发了写一个脚本集成的需求。一条命令完成大部分操作。

目前这个脚本集成了四项功能

  • 启动
  • 停止
  • 重新加载配置
  • 测试默认配置文件
    把下面内容保存到一个shell文件命名成nginx.sh ,执行 chmod +x nginx.sh赋予可执行权限后就可以了。
    脚本中配置了nginx安装的绝对路径所以可以放到任何地方,放到PATH路径后使用方便。
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

#!/bin/bash
#定义nginx的安装目录
#后面使用 -p 参数指定了运行时 nginx的主目录,nginx会去这个目录中搜索配置文件。准备下一步改进一下把这个参数作为可传入的参数这样就可以在几套配置间切换了。

nginx_home=/data/software/utax/tengine
action=$1

if [ $# = 0 ]; then
echo "Use case: nginx.sh {start|reload|stop|test}"
else
echo "$action"
echo "Profix: $nginx_home"
case $action in
"start")
echo "Starting nginx"
$nginx_home/sbin/nginx -p $nginx_home
;;
"test")
echo "Test nginx config"
$nginx_home/sbin/nginx -p $nginx_home -t
;;
"reload")
echo "Reloading nginx config"
$nginx_home/sbin/nginx -p $nginx_home -s reload
;;
"stop")
echo "Stoping nginx"
$nginx_home/sbin/nginx -p $nginx_home -s quit
;;
*)
echo "Use case: nginx.sh {start|reload|stop|test}"
esac
fi