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

1、说明

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

2、配置操作步骤

查看nginx位置 ,一般在 /usr/local/nginx,通过 cp 命令拷贝到其他文件夹,我这里是拷贝到 /home/sthb/nginx 修改 /home/sthb/nginx/nginx 文件夹以及文件夹下所有文件的所属用户和权限,可以避免很多权限相关的问题。 我这里当前用户是 sthb # 修改文件夹下所有文件所属用户为 sthb

sudo chown -R sthb: /home/sthb/nginx/nginx

# 修改文件夹下所有文件权限为 744

sudo chmod -R 744 /home/sthb/nginx/nginx

进入到拷贝后的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;

}

我这里使用‘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实例,所属的用户不同,启用的配置文件也不同

重启服务

#重启服务

/home/sthb/nginx/nginx/sbin/nginx -c /home/sthb/nginx/nginx/conf/nginx.conf -s reload

4、总结

注意启动拷贝nginx文件夹的后需要配置对应的权限和所属用户 nginx的conf文件需要注意不要冲突 启动 nginx 的时候需要指定 conf 配置文件,需要使用绝对路径进行指定

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: