最近本人需要做一个项目,走走代理。这个就涉及到了反向代理这块了,所以就做做笔记。
经过:拿到一台代理服务器、一个项目发布的服务器。项目发布的服务器呢,安装了宝塔面板。现在我们宝塔上发布的项目都需要经过代理服务器,代理服务器需要安装nginx、ssl模块。
在代理服务器上的操作步骤如下:
一、Nginx安装及扩展安装:
1、安装gcc:gcc是linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言,一般服务器系统安装后会自动装好,首先我们检查以下服务器是否已安装,执行如下命令:
a、进入服务器根目录:cd /
b、检查是否安装gcc:gcc -v
如图所示,就代表gcc已安装。
c、如果没有安装,执行命令:yum -y install gcc
2、安装pcre、pcre-devel:pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
在服务器根目录下执行命令:yum install -y pcre pcre-devel
3、安装zlib:zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip。
在服务器根目录下执行命令:yum install -y zlib zlib-devel
4、安装nginx
a、下载Nginx安装包,执行命令(我的下载位置:/usr/local,根据自己的版本需求下载):wget http://nginx.org/download/nginx-1.9.9.tar.gz、wget http://nginx.org/download/nginx-1.18.0.tar.gz
b、解压安装包,执行命令:tar -zxvf nginx-1.9.9.tar.gz
c、重命名文件夹:mv nginx-1.9.9 nginx
d、切换到 /usr/local/nginx 目录下,依次执行以下命令:
./configure
make
make install
e、安装OpenSSL: OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用,nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
切换到 /usr/local/nginx 目录下,执行命令:./configure --with-http_ssl_module
如果报错 ./configure: error: SSL modules require the OpenSSL library.则执行下面的命令:
yum -y install openssl openssl-devel
./configure
./configure --with-http_ssl_module
f、执行命令(切记不能 make install 会覆盖安装目录): make
检查SSL是否安装成功:
/usr/local/nginx/sbin/nginx -V
g、备份原来的Nginx启动文件:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
如果检查SSL模块未安装上:备份之后,删除原来的nginx启动文件,再执行h步骤,这样才能正常加载SSL模块
h、将新的 nginx 启动文件 覆盖旧的启动文件,执行命令:cp objs/nginx /usr/local/nginx/sbin/nginx
如果报错,则执行:cp -rfp objs/nginx /usr/local/nginx/sbin/nginx
i、启动Nginx,执行命令 (切换目录至 /usr/local/nginx/sbin):./nginx
此时会报错:找不到logs文件夹导致,所以根据提示,新建logs文件夹,执行:mkdir logs
然后再执行:./nginx
g、检查Nginx服务是否启动成功,执行命令:ps -ef | grep nginx
或者访问你的服务器 IP地址,如下图所示代表成功!
二、Nginx反向代理配置:Nginx配置详解
1、切换目录至 /usr/local/nginx 下,新建文件夹如下:
mkdir conf.d (放置反向代理配置文件)
mkdir ssl (放置SSL证书)
mkdir logs (放置