[toc]
# Nginx安装和端口转发
## 1.下载相应的依赖,准备安装包
```shell
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
```
上传安装包到 /usr/local/src路径下 [nginx-1.16.1.tar.gz]
下载地址http://nginx.org/download/nginx-1.16.1.tar.gz
## 2.解压安装包,配置安装模块
```shell
//解压
tar -zxvf nginx-1.16.1.tar.gz
//进入解压后的文件
cd nginx-1.16.1
// 指定安装目录
./configure --prefix=/data/work/nginx --with-stream --with-http_ssl_module
```
![](http://dc.zjhcsoft.com:25680/mindoc/uploads/deliver/images/m_7af85e6663efc81d804c82d9cf69a458_r.png)
```shell
//编译(通过gcc进行编译)
make
//编译安装
make install
```
![](https://img.kancloud.cn/5b/c8/5bc87126a2b5b2d61f91f238738aa146_660x229.png)
```shell
//进入安装目录,查看详细信息
cd nginx
```
![](https://img.kancloud.cn/2a/64/2a64de566611eb8189d21654e0ec6d24_364x96.png)
conf:配置文件文件夹,其中nginx.conf是核心配置文件
html:里边包含了欢迎首页(index.html)和错误页(50x.html)
logs:记录日志目录
sbin:里边有nginx文件,启动文件
至此,nginx 安装完成!
### 补装模块
> 有些小伙伴安装nginx的时候`configure`配置没有安装SSL模块。当然,这些都是经常需要安装的部分,在本教程中前面的部分中已经安装了。如果缺失再按照这里的方法进行安装。
```
./configure --with-http_ssl_module --with-stream --prefix=/data/work/nginx
## 不要执行make install
make
```
覆盖原先nginx目录中的nginx文件。
```
cp objs/nginx /data/work/nginx/sbin/nginx
```
## 3.Nginx一些简单命令
### 1.启动
```shell
#切换到sbin目录下,执行 ./nginx 简单启动,默认配置文件 最常用的方式
/data/work/nginx/sbin/nginx -c /userxxxxxxx/local/nginx/conf/nginx.conf
#其中 -c 是指定配置文件,指定任意目录的配置文件
//查看
ps -ef | grep nginx
```
启动后默认的开启服务端口是80,在浏览器直接输入IP可以出现如下图页面。如果80端口未开放的话,自行修改。
![](http://dc.zjhcsoft.com:25680/mindoc/uploads/deliver/images/m_f6c5a2566ac2b406d81d60776e37bced_r.png)
### 2.关闭
```shell
//找出nginx进程
ps -ef | grep nginx
//执行命令,pid是主进程的pid
kill -QUIT 主pid
//注意在安装目录sbin下
./nginx -s reload
```
### 3.查看版本
```shell
-v:小写,显示nginx版本
/usr/local/nginx/sbin/nginx -v
-V:大写,显示nginx版本、编译器版本和配置参数
/usr/local/nginx/sbin/nginx -V
```
## 4.配置修改与做数据库端口映射
找到/usr/local/nginx/conf路径下的nginx.conf文件修改
![](http://dc.zjhcsoft.com:25680/mindoc/uploads/deliver/images/m_6bae76af4872e716de78487eb4b26b60_r.png)
改成你想要的端口,并重启nginx,这样之后在页面输入ip+端口就可以直接访问如上的nginx服务器成功启动页面
有个这样的场景,我想让在访问服务器3307端口的时候正好是访问数据库的3306端口,我们可以通过nginx做端口的转发。修改配置如下,看图应该就能看懂吧。
![](http://dc.zjhcsoft.com:25680/mindoc/uploads/deliver/images/m_ef4ef771cf454f180dd82de0495e2b7d_r.png)
```shell
events {
worker_connections 1024;
}
stream {
upstream mysql {
server 139.196.33.93:3306;
}
upstream oracle {
server 139.196.33.93:1521;
}
server {
listen 3307;
proxy_pass mysql;
}
server {
listen 1525;
proxy_pass oracle;
}
}
```
现在数据库就可以通过其他端口连接了连接了
- ✍写在前面
- 部署管理思想
- 更新说明
- ⛳第一章 基础环境部署
- 1-1 linux防火墙管理
- 1-2 服务器初始化
- 1-3 存储管理
- 文件删除空间释放问题
- 定时清理日志
- 1-4 JDK安装
- 1-5 无外网环境部署
- 1-6 切换阿里云yum源
- 1-7 使用ssh隧道解决网络问题
- 1-8 使用Axure+svn+httpd搭建自己的在线画图工具
- linux svn环境搭建
- 1-9 编译环境安装
- 🚀第二章 快速部署篇
- 2-1 一个命令快速安装mysql
- mysql windows版本安装
- mysql源码版的一键部署
- mysql配置
- 自动化失败
- mysql异常处理
- Oracle表结构转mysql表结构
- 修改字段注释没那么简单!
- 2-2 基于linux脚本的基础环境发布
- 2-3 docker
- 2-4 nodejs部署
- 2-5 基于Alibaba Cloud Toolkit的Springboot发布脚本
- 2-6 elasticsearch部署
- es6.x部署
- es7.x部署
- ik分词器部署
- 内存调优
- 回收空间
- 2-7 Oracle生产安装
- 💥第三章 系统APM
- 3-1 Zabbix安装
- 修改默认端口
- 踩坑记录
- 3-2 Grafana部署
- 3-3 Kibana部署
- 🔨第四章 中间件部署
- 4-1 nginx
- nginx安装部署
- nginx动静分离配置,这个雷你踩过吗?
- 图解nginx304缓存策略
- nginx日志切割
- 4-2 activemq升级
- 4-3 redis安装
- 4-4 Canal部署
- 报错解决
- Canal+Rabbitmq实现同步
- canal数据同步到es
- 4-5 SpringCloud Alibaba
- nacos
- 新建项目
- seata
- 4-6 rabbitmq安装
- 第五章 高可用架构
- 5-1 mysql主从复制
- 主从复制配置
- 5-2 mysql数据自动备份
- 🌊第六章 数据ETL
- 6-1 dataX
- 第七章 持续集成
- 7-1 基于Docker+Jekins+Git实现企业持续集成、部署
- 7-2 安装jekins
- 安装maven
- 7-3 jvm-sandbox自动化测试
- jvm-sandbox-repeater Windows开发环境安装
- 第八章 JVM调优
- jps:查询正在运行的虚拟机进程
- jstat:查看JVM统计信息
- jinfo:实时查看和修改JVM配置参数
- 第七章 域名申请与管理
- SSL证书申请
- 第九章 业务插件部署
- 6-1 ffmpeg
- 第十章 云服务器
- 腾讯云
- 阿里云
- 其他
- 其他作品
- 简历内推
- 联系我内推