上一章,我们讲了在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的更多相关文章

  1. 三、netcore跨平台之 Linux配置nginx负载均衡

    前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi. 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了. 因为本人 ...

  2. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  3. Docker Compose部署 nginx代理Tomcat集群

    一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...

  4. 一、netcore跨平台之 Linux上部署netcore和webapi

    这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...

  5. Linux 部署 nginx服务代理

    原文地址:http://www.cnblogs.com/ants/p/5732337.html#_label5 参考地址:http://www.cnblogs.com/hustskyking/p/ng ...

  6. linux 部署nginx作为反向代理入口的内核参数/etc/sysctl.conf

    # Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enable ...

  7. 【转】vue项目打包部署——nginx代理访问

    我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要 ...

  8. Linux 部署Nginx反向代理服务 使用openssl自生成证书并配置https

    1.安装Nginx编译所依赖的包 正常centos中可以使用yum安装一下依赖包: yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...

  9. 我的linux部署nginx步骤记录

    http://www.runoob.com/linux/nginx-install-setup.html 安装prce找不到GCC c++文件 解决方法: yum install gcc-c++^C ...

随机推荐

  1. CTF-SSH私钥泄露渗透

    环境 Kali ip 192.168.56.102 Smb 靶机ip 192.168.56.104 0x01信息探测 使用netdiscover -r ip/mask 进行内网网段存活ip探测 靶机为 ...

  2. [NOIp2009] luogu P1072 Hankson 的趣味题

    把 c 改成 d 下了两个点. 题目描述 已知正整数 a0,a1,b0,b1a_0,a_1,b_0,b_1a0​,a1​,b0​,b1​,设某未知正整数 xxx 满足: xxx 和 a0a_0a0​ ...

  3. [Luogu1379]八数码难题

    题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了 ...

  4. Mybaits 源码解析 (二)----- 根据配置文件创建SqlSessionFactory(Configuration的创建过程)

    我们使用mybatis操作数据库都是通过SqlSession的API调用,而创建SqlSession是通过SqlSessionFactory.下面我们就看看SqlSessionFactory的创建过程 ...

  5. Intellij idea 自动生成serialVersionUID

    1 什么是UID 网络间的数据传输最终都是要转化为二进制流的方式进行传输,为了方便转换以及进行验证,我们应该把对角序列化,当实现Seriabizable接口时,UID就是一个必须的属性,可以方便进行版 ...

  6. PassWord控件

    <StackPanel Margin="> <Label>Text:</Label> <TextBox /> <Label>Pas ...

  7. The usage of Markdown---标题

    更新时间:2019.09.14 目录: 1. 序言 2. 标题   2.1 类Atx形式   2.2 类Setext形式 3. 总结 1. 序言   Markdown是一种纯文本的标记语言,只要熟悉M ...

  8. javascript单线程,异步与执行机制

    js的单线程模型与游览器的进程/线程息息相关,在了解js单线程与异步的时候,建议先看看这篇文章 为什么是单线程 由于js是可操作dom的,如果js是多线程,在多线程的交互下,处于界面中的dom节点就可 ...

  9. MyBatis(4)-- 动态SQL

    如果使用JDBC或者类似于Hibernate的其他框架,很多时候要根据需要去拼装SQL,这是一个麻烦的事情.因为某些查询需要许多条件.通常使用其他框架需要大量的Java代码进行判断,可读性比较差,而M ...

  10. vue表单和组件使用

    表单: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...