在Linux下配置.net网站

一、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的服务器”

 

 

安装位置选择自动分区

 

 

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

更详细的虚拟机安装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

原文地址:https://www.cnblogs.com/huyueping/p/8489195.html