在Linux下配置.net网站
一、Linux安装
1.1 Linux环境
本篇文章选择VMWare虚拟机安装Linux,使用的Linux是CentOS-7。可以在百度上自行下载一个VMWare和CentOS-7镜像,建议使用最新版。
CentOS-7下载
https://www.centos.org/download/
VMWare下载
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
在Linux下配置.net网站的更多相关文章
- Linux下配置PHP开发环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)
需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...
- linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换
此办法只适合于linux下的php网站放到Windows服务器IIS下 , 网站除了主页面正常以外 子页面全部出现404错误 这里子页面出现404 错误是说明伪静态没有开启 什么是.htac ...
- linux下配置tomcat集群的负载均衡
linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...
- 【转】 linux下配置squid 服务器,最简单使用方式
linux下配置squid 1.什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网 ...
- Linux下配置一个VNC服务器
在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...
- linux下配置mysql默认编码utf8
linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...
- Linux下配置Lamp
linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
随机推荐
- C++中const使用注意要点(一)
最近看<C++编程思想>发现自己的基础确实不牢固,也想起了以前写代码时也因为const的事情浪费过时间,这里总结下几个要点. 首先说下内部链接和外部链接. 当一个cpp文件在编译时,预处理 ...
- php处理字符串格式的计算表达式
有时候我们对每一种产品都有一个提成公式,而这个计算提成的公式是以字符串格式存在表中的 当我们用这个计算公式时,他并不像我们写的:$a=2+3*5;这样简单的能计算出结果,而它是个字符串 所以,我们就必 ...
- [转载]树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像
树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像 网上有很多关于mjpg-stream移植到树莓派的文章,大部分还是使用的sourceforg ...
- 【转】JMeter测试有无数据库连接池的性能
使用JMeter测试一下有无数据库连接池的性能: 1.下载JMeter 2.无连接池的servlet Java代码 public void doGet(HttpServletRequest reque ...
- Java 判断某一天是这一年的第几天
package Day8_06; import java.util.*; public class ClassTest { public static void main(String[] args) ...
- mysql索引之四:复合索引之最左前缀原理,索引选择性,索引优化策略之前缀索引
高效使用索引的首要条件是知道什么样的查询会使用到索引,这个问题和B+Tree中的“最左前缀原理”有关,下面通过例子说明最左前缀原理. 一.最左前缀索引 这里先说一下联合索引的概念.MySQL中的索引可 ...
- 015:索引、B+树
一. 索引 1. 索引的定义 索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单.索引的作用 ...
- 在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案
我在使用SpringMVC的@RequestBody和@ResponseBody注解处理JSON数据的时候,总是出现415的错误,说是不支持所提交数据格式,我在页面中使用了JQuery的AJAX来发出 ...
- 转 maven jetty 插件
maven jetty 插件使用 本机环境 JDK 7 Maven 3.2 Jetty 9.2 Eclipse Luna pom.xml 配置 在你的 pom.xml 文件中添加 jetty 插件的描 ...
- Tkinter place() 方法
Python GUI - Tkinter place() 方法的使用例子: 这个的几何管理器组织放置在一个特定的位置,在他们的父widget部件. 语法: widget.place( place_ ...