在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 文件名(. ...
随机推荐
- Java安全 – JCE Blowfish算法报错
代码里用Blowfish算法加解密,结果jdk升到1.7后算法初始化失败 java.lang.RuntimeException: java.lang.RuntimeException: PANIC: ...
- orzdba_monitor.sh脚本使用
1.orzdba_monitor.sh脚本使用 ./orzdba_monitor.sh 主要是用nohup同时在后台调用orzdba,启动下面三个命令 [root@node02 scripts]# p ...
- python学习(二十二) String(上)
str1 = "This is a 'test'" print(str1) str1 = 'This is a "test"' print(str1) str1 ...
- *(ptr++) += 123
*(ptr++) += 123; 等价于:*(ptr) = *(ptr) + 123; ptr++; 而不是:*(ptr++) = *(ptr++) + 123;程序员面试宝典p32 #include ...
- NodeJS写模块和引入模块的例子
nodejs自学.js function hello(){ console.log("hello world");} function s(){ console.log(" ...
- GRE and VXLAN with Open vSwitch
因为在OpenStack的Neutron中比较常用,所以参考别人的博客试了下OVS的一些隧道封装功能(GRE,VXLAN). 实验:实现两个host的Network namespace之间的通信,NS ...
- python读取excel表格中的数据
使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...
- python开发_python中字符串string操作
在python中,对于字符串string的操作,我们有必要了解一下,这样在我们的以后的开发中会给我们带来很多方便 下面是我学习的笔记: #python-string #python中的字符串用单引号' ...
- JQueryDOM节点操作
你一.JQueryDom节点操作 2.1查找节点 获取p节点 var $pDm=$("p"); 输出p节点的title属性 alert($pDm.attr("title& ...
- SpringData JPA示例
SpringData JPA只是SpringData中的一个子模块 JPA是一套标准接口,而Hibernate是JPA的实现 SpringData JPA 底层默认实现是使用Hibernate 1. ...