在Linux下配置.net网站

时间:2023-02-23 08:23:22

一、Linux安装

1.1 Linux环境

本篇文章选择VMWare虚拟机安装Linux,使用的Linux是CentOS-7。可以在百度上自行下载一个VMWare和CentOS-7镜像,建议使用最新版。

CentOS-7下载

https://www.centos.org/download/

VMWare下载

https://www.vmware.com/

1.2 Linux虚拟机安装步骤

1.2.1 安装最新版VMWare

1.2.2 创建新的虚拟机 》 选择:自定义(高级) 》 硬件兼容性选择最新的。

硬盘、内存、CPU个数根据宿主机的实际情况适当选择。

开启虚拟机后,选择“带GUI的服务器”,这样安装好以后,就不用再安装GUI图形界面了。如下图,点击“软件选择”以后,点选“带GUI的服务器”

在Linux下配置.net网站

在Linux下配置.net网站

安装位置选择自动分区

在Linux下配置.net网站

在Linux下配置.net网站

剩下的就是点击安装,等待系统安装完成。

更详细的虚拟机安装CentOS参考:

http://blog.csdn.net/qq_15380765/article/details/56503154?locationNum=2&fps=1

二、ASP.NET WEB服务器搭建

2.1 Jexus介绍

Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,以支持ASP.NET、ASP.NET CORE、PHP为特色,同时具备反向代理、入侵检测等重要功能。可以这样说,Jexus是.NET、.NET CORE跨平台的最优秀的宿主服务器,如果我们认为它是Linux平台的IIS,这并不为过,因为,Jexus不但非常快,而且拥有IIS和其它Web服务器所不具备的高度的安全性。

2.2 网址

Jexus 网址:https://www.jexus.org/

建议安装 Jexus 独立版,因为独立版里已包含 .NET 运行时(mono),而不需要在服务器上安装mono,就能正常运行。当然,也可以安装Jexus的通用版,不过在此之前,应该先安装mono

2.3 安装命令

Jexus的安装非常方便,只需要在终端里执行一条命令即可,需要注意的是,必须在root权限下执行。

安装jexus独立版的命令是:

curl https://jexus.org/release/x64/install.sh|sh

2.4 Jexus 操作命令

Jexus包括如下操作命令(首先 cd /usr/jexus):

启动:sudo ./jws start

停止:sudo ./jws stop

重启:sudo ./jws restart

2.5 Jexus 配置

2.5.1 网站配置文件目录

Jexus的安装目录是:/usr/jexus/

在这个目录下有一个siteconf的目录,此目录是Jexus的网站配置文件目录。Jexus允许运行多个网站,每个网站的配置文件,都放在该目录下。多站点配置也很简单,目录即站点:一个目录 + 一个网站配置文件就是一个站点。

需要特别注意的是:

1,目录里每一个文件,在Jexus会认为是一个网站的网站配置文件,所以此目录里不要放置其它文件。作为开发者,或者后续的维护管理员,可以把网站配置文件命名为网站名称,方便日后管理。

2,网站配置文件命名,不要有空格!

3,网站配置文件,是对每个网站的配置,与解决方案里的web.config不是一个概念。

2.5.2 网站的代码文件目录

网站代码目录是:/var/www/

此目录就是Jexus读取的网站代码文件目录。在这个目录下,每一个文件夹就是一个网站,文件夹的名称与网站配置文件相对应。

我们以默认的网站defalut举例:在siteconf目录下有个名称为default(假设网站配置文件名称是按照上一步的建议命名的。网站配置文件介绍见下一步。)的网站配置文件,那么在/var/www/ 目录下的default目录,就是与此网站配置文件相对应的代码目录。

2.5.3 网站配置文件简单介绍

我们还以默认网站:default为例介绍

打开siteconf目录里的default文件,文件内容如下:

######################

# Web Site: Default

########################################

port=80

root=/ /var/www/default

hosts=*    #OR your.com,*.your.com

# addr=0.0.0.0

# CheckQuery=false

NoLog=true

# AppHost={CmdLine=/usr/local/x/xx;AppRoot=/usr/local/x;Port=5000}

# NoFile=/index.aspx

# Keep_Alive=false

# UseGZIP=false

# UseHttps=true

# ssl.certificate=/x/xxx.crt  #or pem

# ssl.certificatekey=/x/xxx.key

# ssl.protocol=TLSv1.0    # TLSv1.1 or  TLSv1.2...

# ssl.ciphers=

# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24

# AllowFrom=192.168.*.*

# DenyDirs=~/cgi, ~/upfiles

# indexes=myindex.aspx

# rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx

# reproxy=/bbs/ http://192.168.1.112/bbs/

# host.Redirect=abc.com www.abc.com  301

# ResponseHandler.Add=myKey:myValue

# Jexus php fastcgi address is '/var/run/jexus/phpsvr'

#######################################################

# fastcgi.add=php|socket:/var/run/jexus/phpsvr

# php-fpm listen address is '127.0.0.1:9000'

############################################

# fastcgi.add=php|tcp:127.0.0.1:9000

部分代码意义如下:

Port=80  #jexus WEB服务器侦听端口,必填,也可以是其它指定的端口。无论创建了多少个站点,想要域名直接访问各自的站点,每个网站的Port都是80。

root=/ /var/www/default  #网站URL根路径(虚拟目录)和对应的物理路径,必填。等号右边的两个/之间有一个空格,并且是必须有的空格。

hosts=*  #网站域名(建议填写),可以用泛域名,比如:*.default.cn(不填此项或只填一个“*”号表示这是默认网站,一个端口只能有一个默认站)

indexes=myindex.aspx  #首页文件名,可以写多个,用英文逗号分开(可以不填。因为JWS系统含有常用首页名)。如果不填,Jexus会使用index.aspx或者index.html作为主页,与web.config里的配置无关。

addr=0.0.0.0  #绑定到服务器本机的某个IP地址,默认情况下是所有地址,即“0.0.0.0”。

更多配置参考:

https://www.cnblogs.com/webenh/p/Jexus-Web-Server-Config.html

三、防火墙配置

CentOS-7的默认防火墙是Firewalls,但是在这里我们不用默认的,用另一个防火墙:iptables。

3.1 关闭默认防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

3.2 安装iptables防火墙

yum install iptables-services

执行以后,一路yes就可以。

3.3 配置端口允许访问

3.2.1 进入sysconfig目录

cd /etc/sysconfig/

 

3.2.2 编辑iptables文件

打开iptables文件:vim iptables

修改文件,加入以下内容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT

这里是把81端口加入了允许访问队列,端口号可根据实际修改。

 

3.2.3 保存修改

按ESC键 跳到命令模式,然后:

:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:w! 强制保存,不推出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

:q  不保存文件,退出vi

:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

3.2.4 重载iptables

service iptables restart

更多iptables参考:

http://blog.chinaunix.net/uid-26495963-id-3279216.html

firewalld 和 iptables 详解参考

https://www.linuxidc.com/Linux/2017-03/141434.htm

四、Xftp上传文件

Xftp是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。

firewalld和iptables

在Linux下配置.net网站的更多相关文章

  1. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  2. linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

    需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...

  3. linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换

    此办法只适合于linux下的php网站放到Windows服务器IIS下 ,  网站除了主页面正常以外  子页面全部出现404错误    这里子页面出现404 错误是说明伪静态没有开启 什么是.htac ...

  4. linux下配置tomcat集群的负载均衡

    linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...

  5. 【转】 linux下配置squid 服务器,最简单使用方式

    linux下配置squid 1.什么是squid Squid cache(简称为Squid)是一个流行的*软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网 ...

  6. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  7. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  8. Linux下配置Lamp

    linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...

  9. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

随机推荐

  1. 幻灯片slider

    <script src="{$GetInstallDir}web/scripts/jquery-1.3.1.js"></script> <style& ...

  2. &period;NET Json 解析到Dictionary,原生代码

    之前一直使用微软自带的Json,也一直想试着自己解析下Json玩玩,于是花了一个晚上的时间写了个解析的类, 先说下思路,先从简单的说起:如:标准的JSon格式如:{"Key":&q ...

  3. java集合使用——HashMap

    在map中插入.删除和定位元素时,HashMap是最好的选择.如果要按照自然顺序或自定义顺序遍历(获取所有元素),那么treemap更好一些. 第一:构造和添加元素 HashMap map = new ...

  4. php 日期 - 获取当月最后一天

    /** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday ...

  5. 如何解决 Django中出现的 &lbrack;Errno 13&rsqb; Permission denied问题

    环境:linux 如果你使用了Apache部署了Django项目,在上传文件时可能会出现 “[Errno 13] Permission denied:某目录”的错误. 这是因为apache没有权限在该 ...

  6. Vue的双向数据绑定

    最简单的实现v-model数据绑定,只需要在一个组件里面有个props,加上一个value,然后当组件要去修改数据的时候, $emit一个input事件,并且把新的值传出去.这就实现了Vue里面的数据 ...

  7. 【亲测有效】Github无法访问或者访问速度的解决方案

    我相信,很多朋友都遇到了 Github 访问速度过慢的问题,我也是在此记下笔记,方便以后拿来使用. 第一步.修改Hosts 通过问题的搜索了解到 github 访问很慢一般通过修改 hosts 文件解 ...

  8. nginx 的 负载均衡

    一.正向代理和反向代理 1.正向代理 正向代理类似一个跳板机,代理访问外部资源. 正向代理是客户端和目标服务器之间的代理服务器(中间服务器).为了从指定的服务器取得内容,客户端向代理服务器发送一个请求 ...

  9. mysql性能优化-慢查询分析、优化索引和配置【转】

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  10. Vue--- VueX基础 (Vuex结构图数据流向)1&period;1

    Vuex基础 https://vuex.vuejs.org/zh-cn state --> view --> action -> state 多组件共享状态, 之前操作方式,由父组件 ...