阿里云服务器CentOS下配置nginx实现反向代理
当我们把本地项目部署到云服务器时,会出现一个问题,就是怎么样实现多个不同端口的项目同时部署到服务器且支持访问呢?通过配置Nginx Web服务就可以实现这个“路由”的功能。
一、下载Nginx
Nginx的安装通过源码包编译完成,需要c++支持库,同时在Nginx运行过程中对于一些压缩、路由正则表达式、https支持等相关特性需要其他一些支持库。安装指令如下:
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
从 Nginx官网下载最新稳定版(stable version)安装包
下载及解压指令如下:
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
安装配置检查
./configure
安装
make && make install
配置别名
此步骤可选,目的是为了后续运行nginx操作指令方便。别名配置方式和当前使用的shell类型相关,这里我使用的是自带的bashrc,在用户目录的.bashrc文件中加入如下别名 nginx 替代nginx执行文件的完整路径。
vim ~/.bashrc
alias nginx='/usr/local/nginx/sbin/nginx' // 增加这句代码
source ~/.bashrc
可执行配置检查
nginx -t
nginx配置正确,下面指令启动nginx、查看nginx进程、并从本机测试可访问性(默认开启80端口,所以使用 localhost 访问即可)
nginx
ps -ef|grep nginx
curl localhost**
二、开放80端口,配置二级域名解析
需要去阿里云服务器工作台配置安全组规则以开放80端口
然后去阿里云的域名解析服务里设置同一个IP下的二级域名解析记录
三、配置Nginx文件
nginx的安装目录下有一个nginx.conf文件
该文件是配置nginx监听的端口及域名并路由到指定资源文件的配置项
里面有server结构,即一个独立的代理配置单元
执行vi nginx.conf
可查看编辑该文件
listen 80; // 监听端口号
server_name test.com; // 域名(你设置的主域名或者其它二级域名)
location / {
root /var/www/html; // 项目所在目录
index index.html; // 项目入口文件
}
然后在文件开头加一句user root;
重新启动nginx即可实现代理
注意有时候会出现启动nginx时,出现80端口占用问题,需要先关闭正在占用80端口的进程后开启nginx服务。