linux 启动多个nginx服务分别使用不同的conf配置文件

1、说明

一台机器可以启动两个nginx实例,需要注意的是端口冲突的问题;一个通过编译安装,另外一个直接拷贝第一个应用程序。

2、配置操作步骤
  1. 查看nginx位置 ,一般在 /usr/local/nginx,通过 cp 命令拷贝到其他文件夹,我这里是拷贝到 /home/sthb/nginx
  2. 修改 /home/sthb/nginx/nginx 文件夹以及文件夹下所有文件的所属用户和权限,可以避免很多权限相关的问题。
    我这里当前用户是 sthb
# 修改文件夹下所有文件所属用户为 sthb
sudo chown -R sthb: /home/sthb/nginx/nginx
#  修改文件夹下所有文件权限为 744
sudo chmod -R 744 /home/sthb/nginx/nginx
  1. 进入到拷贝后的nginx.conf文件,修改需要的端口,不要与原nginx在使用的端口冲突,并且加上 ‘pid /home/sthb/nginx/nginx/logs/nginx.pid;’参数(根据实际路径设置,nginx.pid的位置在nginx/logs/目录下,如果没有就创建这个文件,如果有就进入这个文件把内容删除了),避免 重启的时候把原nginx实例给重启了
worker_processes  1;

pid /home/sthb/nginx/nginx/logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size    10m;

    include conf.d/*.conf;
}
  1. 我这里使用‘include conf.d/*.conf;’ 把配置文件放到 ‘ conf.d’目录下,自己配置需要的内容,这里不详细介绍。
3、启动

**注意:**启动的时候使用绝对路径进行启动 ,注意加 ‘-c’ 参数指定配置文件

#检查配置文件是否有问题, '-c' 参数指定配置文件 
/home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf -t
# 启动服务
/home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf
#一般显示这个就代表没什么问题了,如果有报权限问题,注意查看一下对应文件的权限和所属用户 用户组有没有配置正确
nginx: the configuration file /home/sthb/nginx/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/sthb/nginx/nginx/conf/nginx.conf test is successful

查看进程可以发现启动了两个nginx实例,所属的用户不同,启用的配置文件也不同

windows Nginx怎么启动两个vue_配置文件

重启服务

#重启服务
/home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf -s reload
4、总结
  1. 注意启动拷贝nginx文件夹的后需要配置对应的权限和所属用户
  2. nginx的conf文件需要注意不要冲突
  3. 启动 nginx 的时候需要指定 conf 配置文件,需要使用绝对路径进行指定