二、netcore跨平台之 Linux部署nginx代理webapi
上一章,我们讲了在linux上安装netcore环境,以及让netcore在linux上运行。
这一章我们开始讲在linux上配置nginx,以及让nginx反向代理我们的webapi。
什么nginx???
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品,而且现在越来越多的公司都开始用nginx,学习nginx是程序员必不可少的一部分。
现实用xshell登录到我们的linux系统中。
输入如下命令
安装编译工具和对应的库文件,输入下面的命令,回车即可
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
如下图示,就表示安装好了。
接下来,我们正式安装Nginx,我们这次选择安装1.6.2版本。
(1)下载nginx,输入下面命令,回车即可。
wget http://nginx.org/download/nginx-1.6.2.tar.gz
nginx比较小,下载起来还是蛮快的,如下图所示,表示下载完成。
(2)解压nginx压缩包
tar zxvf nginx-1.6..tar.gz
(3)进入到nginx目录中
cd nginx-1.6.
(4)编译和安装,分别执行下面的命令
./configure --prefix=/usr/local/nginx
make
(5)查看版本
/usr/local/nginx/sbin/nginx -v
看到下面这个表示成功了
(6)启动nginx
/usr/local/nginx/sbin/nginx
然后在你的电脑上用浏览器访问即可
注意这里的默认监听端口是80,所以输入ip加上80端口即可
出现如下这种视图就表示成功了。
接下来就是很关键的配置了,其实安装还是很简单的。
进入到你的nginx的安装目录下
分别输入如下命令,即可查看到您的配置信息
cd /usr/local/nginx/conf
ll
编辑您的nginx.conf文件,我这里用vim进行编辑
vim nginx.conf
出现如图所示:
我们主要看如下图所示红色标记的部分
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果配置了多个server,这个listen要配置不一样。
server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。
location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。
index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。
然后我们把上面的location进行了修改
用键盘的上下左右键把光标移动到如下位置
然后输入键盘的 i(键盘的字母i)进入到编辑模式(这里是给不懂linux说的,懂得人请无视)
然后用键盘的退回 ←把这里的都删除
然后在输入 proxy_pass http://localhost:6666;(这里接上一章已经配置好的netcore webapi)
然后点击键盘的ESC退出编辑状态
然后输入:wq退出并保存
:wq
这样就保存配置结束了,conf配置其实很复杂,网上有很多根据不同需求进行的配置
大家有兴趣可以去看看,我这里只说入门的部分,额,其实入门都算不上,能用就行,哈哈哈
最后执行下面两个命令
这里是检查配置
/usr/local/nginx/sbin/nginx -t
最后一个就是重启运行nginx
/usr/local/nginx/sbin/nginx -s reload
哦,最后我们看看效果,额
这里一定不要忘记启动我的netcore程序了
输入命令进入到我们的项目中
cd /root/netcore/
然后输入启动程序的命令
dotnet WebApiTest.dll
如下图所示,就表示启动成功了
然后,我们用测试工具测试一下我们的接口
如图所示,我们把以前的6666接口换成了80端口,这里还是访问成功了,这就表示我们的nginx代理成功了
到这里就基本结束了,不过大家一定有个奇怪的地方每次启动netcore,每次关了你的xshell后就不能访问了,
这里建议使用下面的命令,使之成为后台进程即可
nohup dotnet WebApiTest.dll &
over !!!!!!!!!!!!!!!!!!!!!!!!
二、netcore跨平台之 Linux部署nginx代理webapi的更多相关文章
- 三、netcore跨平台之 Linux配置nginx负载均衡
前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi. 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了. 因为本人 ...
- Docker Compose 一键部署Nginx代理Tomcat集群
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...
- Docker Compose部署 nginx代理Tomcat集群
一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...
- 一、netcore跨平台之 Linux上部署netcore和webapi
这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...
- Linux 部署 nginx服务代理
原文地址:http://www.cnblogs.com/ants/p/5732337.html#_label5 参考地址:http://www.cnblogs.com/hustskyking/p/ng ...
- linux 部署nginx作为反向代理入口的内核参数/etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enable ...
- 【转】vue项目打包部署——nginx代理访问
我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要 ...
- Linux 部署Nginx反向代理服务 使用openssl自生成证书并配置https
1.安装Nginx编译所依赖的包 正常centos中可以使用yum安装一下依赖包: yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...
- 我的linux部署nginx步骤记录
http://www.runoob.com/linux/nginx-install-setup.html 安装prce找不到GCC c++文件 解决方法: yum install gcc-c++^C ...
随机推荐
- spring源码系列7:Spring中的InstantiationAwareBeanPostProcessor和BeanPostProcessor的区别
概念 Bean创建过程中的"实例化"与"初始化"名词 实例化(Instantiation): 要生成对象, 对象还未生成. 初始化(Initialization ...
- Halcon一日一练:图像分割之基本概念
1.什么是图像分割: 图像分割就是把图像中特定的目标提出来,进行处理. 2.为什么要做图像分割: 图像分割是由图像处理到图像分析的关键步骤,准确的来说,没有图像分割,图像处理将无法实现其后续的操作.进 ...
- 概念理解:boost::asio::定时器2
多线程同步回调#include <cstdio> #include <iostream> #include <boost/asio.hpp> #include &l ...
- 一个有趣的C语言问题
这个问题是知乎上的一个问题,看了以后觉得比较有意思.代码短到只有十多行,但是这么短的代码却输出了很奇怪的结果.很多人回答的时候都是站在理论的角度上说明代码的问题,但是实际的问题还是没有说明其中的问题. ...
- 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群
首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...
- java 链接mysql
import java.sql.*; public class ConnectSql { static final String JDBC_DRIVER = "com.mysql.jdbc. ...
- 在非洲运营互联网系统-PAYGo方案
尼日利亚当地经济.支付.网络.供电.交通等基建都比较落后,虽然各方面都在缓慢增长,但当地人对高额的刚需产品仍望而却步. 其他非洲国家也有同样的问题. 同理国内,一些低收入人群都想买房,但房价动辄几 ...
- 解析 Microsoft.Extensions.DependencyInjection 2.x 版本实现
项目使用了 Microsoft.Extensions.DependencyInjection 2.x 版本,遇到第2次请求时非常高的内存占用情况,于是作了调查,本文对 3.0 版本仍然适用. 先说结论 ...
- 《ECMAScript6入门》笔记
let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...
- vue+webpack+element-ui项目打包优化速度与app.js、vendor.js打包后文件过大
从开通博客到现在也没写什么东西,最近几天一直在研究vue+webpack+element-ui项目打包速度优化,想把这几天的成果记录下来,可能对前端牛人来说我这技术比较菜,但还是希望给有需要的朋友提供 ...