Linux系统安装并配置nginx实现多服务同一端口
Posted 大牙有话说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统安装并配置nginx实现多服务同一端口相关的知识,希望对你有一定的参考价值。
基本诉求是项目要实现并发,因为用了深度学习框架,tornado服务无法通过以下方式多进程开启服务,
http_server.bind(port) http_server.start(n) #n为进程数
所以,寻求其它方式实现并发。服务是通过docker镜像提供的,在容器内容将服务复制一份,起多个服务实现并发,问题是这样多个服务api相同,但端口号不同,涉及到怎样向外只提供一个端口。因此学习使用nginx进行端口转发。
配置的机器可联网,有root权限,Ubuntu系统,整体过程还算简单,但中间也有一些坑,不过通过万能的度娘都解决了,特此记录。
配置nginx:
1.安装依赖
openssl / libssl-dev / gcc-c++
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install gcc-c++
sudo apt-get gcc build-essential
sudo apt-get zlib
sudo apt-get zlib-devel
2.安装PCRE
下载安装包,命令行依次输入:
cd /usr/local/src/ wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解压安装包,进入目录,编译安装,查看pcre版本
tar xzvf pcre-8.35.tar.gz cd pcre-8.35 ./configure #编译若出错检查依赖安装是否缺漏 make & make install pcre-config --version
3.安装nginx
下载安装包,命令行依次输入:
下载地址:https://nginx.org/en/download.html
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
解压安装包,进入目录,编译安装,启动nginx
tar xzvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/src/nginx --with-http_ssl_module --with-http_stub_status_module #编译若出错检查依赖安装是否缺漏
make & make install
进入/usr/local/src/nginx目录,
./nginx #启动nginx
启动nginx时失败!!!
[root@party-0]#find / -type f -name *libpcre.so.* #查看libpcre.so文件位置
[root@party-0]#ln -s /lib/x86_64-linux-gnu/libpcre.so.3.13.2 /lib/x86_64-linux-gnu/libpcre.so.1 #建立软链接
再重新启动就成功了。
查看nginx是否成功启动
[root@party-0]#ps -ef | grep nginx
4.配置nginx
cd /usr/local/src/nginx/conf #进入配置文件目录目录
vim ngin.conf #打开配置文件
找到如图所示的位置,新增红框里的内容。
第一个红框:
upstream searchsvr #searchsvr 与第三个红框中的proxy_pass后名字一致 server 10.80.33.139:8999; #ip为本地机器ip,端口是服务的端口,需要代理的端口都写在这里 server 10.80.33.139:7766;
第二个红框中,修改端口号为向外提供的唯一端口。如上,对客户提供9000端口,代理内部服务的两个端口8999和7766.
第三个红框:
location /hot #/hot为服务的api proxy_pass http://searchsvr; #searchsvr与第一个红框中名字对应
配置完成,重启nginx
cd /usr/local/src/ngin/sbin #进入nginx目录 ./nginx -s reload #重启nginx
完成!
新手上车,内容若有错误造成误导,欢迎留言指正~
参考网址及其它问题解决方法网址:
runoob.com NGINX安装配置教程: https://www.runoob.com/linux/nginx-install-setup.html
nginx安装 : https://www.cnblogs.com/smfx1314/p/10546158.html
ubuntu使用yum命令报错解决方法: https://blog.csdn.net/liuchang__/article/details/78485568
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such启动nginx失败:https://blog.csdn.net/weixin_44297303/article/details/89505398
nginx启动失败 https://www.cnblogs.com/cnsanshao/p/3652510.html
https://www.cnblogs.com/achengmu/p/9093814.html
http://www.xwood.net/_site_domain_/_root/5870/5874/t_c278506.html
安装openssl-dev报错:https://blog.csdn.net/liujian8654562/article/details/101113461
以上是关于Linux系统安装并配置nginx实现多服务同一端口的主要内容,如果未能解决你的问题,请参考以下文章