Linux Centos上部署ASP.NET网站
<p><em>随着客户的角度,本该在Windows下的IIS部署方式 已经不能满足客户的需求了,想要CentOS上部署ASP.NET网站,以下是在CentOS教学或部署流程</em><br><em>文章如果段落排版错误可以多刷新几次,目前不知道为啥MD文档这种格式会出现不太原本的样子...</em></p>
<h2 id="注意">注意</h2>
<p><strong>1.如怕毁坏数据或应用(ps aux 查看进程判断是否为空机)建议及时做好备份,创建服务器快照 - 服务器供应商控制台</strong><br>
<strong>2.刚进系统时建议优先开启防火墙并添加:1433(数据库)、80(网站默认)、21(FTP) 22(SSH),添加好防火墙记得重启防火墙</strong><br>
<strong>3.Linux是区分大小写的,所以请求的 ashx 或者 aspx 或者 jpg、png 等程序的路径内必须也是和文件一样,不然访问会出错</strong><br>
<strong>4.include代码在Windows下是以站点目录为根目录("/")的 , 在Linux下需要使用 "../" 这样来写 , 否则会直接在系统根路径去找 , 造成访问出错</strong></p>
<h2 id="服务器要求">服务器要求</h2>
<p><strong>1.centos系统</strong></p>
<p><strong>1.内存2G以上</strong></p>
<p><strong>2.操作者(部署者)必须是root权限</strong></p>
<h2 id="安装必要程序">安装必要程序</h2>
<blockquote>
<p>Jexus [ 强劲、坚固、免费、易用的国产 WEB 服务器系统 - 官网:https://www.jexus.org/ ]</p>
</blockquote>
<blockquote>
<p>SQLServer for Linux [ MSSQL Server 数据库 - 官网:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-overview?view=sql-server-ver15 ]</p>
</blockquote>
<h2 id="安装操作流程">安装操作流程</h2>
<ol>
<li>
<p>Linux 先安装wget</p>
<ul>
<li>yum -y install wget</li>
</ul>
</li>
<li>
<p>Linux 先更新升级命令:</p>
<ul>
<li>yum –y update</li>
</ul>
</li>
</ol>
<blockquote>
<p>如果到这yum还用不了,请尝试更换yum源[阅读:https://blog.csdn.net/qq_37259023/article/details/82962180]<br>
根据上方的文章连curl都使用不了那在本地下载好 然后在本地使用 SFTP over SSH 传至:/etc/yum.repos.d/ 并命名:CentOS-Base.repo [ 使用curl显示 - TCP connection reset by peer,直接怀疑下面这条吧 ]<br>
如还不行请联系网管是否对服务器有限制 特别是针对不是在阿里云等大型平台购买的服务器 [ 这个坑了我半天,因为有些服务器网络有问题 ]</p>
</blockquote>
<ol start="3">
<li>
<p>先安装 SQLServer:</p>
<ul>
<li>
<p>sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo[ 下载SQLServer镜像 ]</p>
</li>
<li>
<p>yum install -y mssql-server [ 下载资源 waiting complete...]</p>
</li>
<li>
<p>sudo /opt/mssql/bin/mssql-conf setup [ 运行SQLServer安装程序 ]</p>
</li>
<li>
<p>systemctl status mssql-server [ 安装完之后,查看是否正在运行 SQLServer,如果在运行,到这一步MSSQL的安装就结束了 ]</p>
</li>
<li>
<p>systemctl enable mssql-server [ 加入开机启动 ]</p>
</li>
<li>
<p>systemctl start firewalld.service [ 开启防火墙,以下操作都是操作开启远程连接 ]</p>
</li>
<li>
<p>sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent [ 如果需要开启远程连接,添加防火墙端口 ]</p>
</li>
<li>
<p>sudo firewall-cmd --reload [ 更新防火墙规则 ]</p>
</li>
</ul>
</li>
</ol>
<blockquote>
<p>运行完成SQLServer安装程序会显示几个选项:<br>
Choose an edition of SQL Server [ 这里一般没啥要求选择 3 ,Express (free) 版本就好 ]<br>
Do you accept the license terms? [ 选择 Yes 即可 ]<br>
Enter the SQL Server system administrator password [ 输入密码,受Linux保护这里按了键盘可能会不显示值 要是第一次不知道按了哪个键 第二次确认密码就故意输入错重新运行安装吧~ ]<br>
注意:<br>
如果配置了还不可以连接,在服务器供应商-控制面板平台设置安全策略->1433端口开放情况下可关闭防火墙进行再进行测试连接</p>
</blockquote>
<ol start="4">
<li>
<p>安装 jexus:</p>
<ul>
<li>
<p>cd /tmp [ 切换到:temp 目录 ]</p>
</li>
<li>
<p>wget https://www.linuxdot.net/down/jexus-6.1-x64.tar.gz [ 使用wget进行下载 jexus-6.1 包 waiting complete... ]</p>
</li>
<li>
<p>tar -zxvf jexus-6.1-x64.tar.gz [ 解压,需要注意下载版本然后对应的修改 ]</p>
</li>
<li>
<p>sudo mv jexus /usr [ 移动目录 ]</p>
</li>
<li>
<p>sudo rm -rf /tmp/jexus* [ 清理tmp下的jexus ]</p>
</li>
<li>
<p>cd /usr/jexus/ [ 切换到安装目录下 ]</p>
</li>
<li>
<p>yum -y install autoconf automake bison cairo-devel freetype-devel gcc gcc-c++ gettext giflib-devel glib2-devel make libexif-devel libjpeg-devel libpng-devel libtiff-devel libtool[ 安装必要的库 ]</p>
</li>
</ul>
</li>
</ol>
<blockquote>
<p>wget下载前可自行通往Jexus官网获得最新的版本<br>
jexus-6.1 是自带MoNo程序的,所以无需要单独安装MoNo<br>
cd到jexus安装目录下使用ls命令语法进行查看文件<br>
jexus安装完的目录下的 siteconf 文件夹里面的就是网站配置文件,里面jexus会有一个默认的 default 配置文件,可用于复制新网站,主要:port root hosts,可以使用vi查看配置,结构很简单,具体解释还是去官网了解吧~<br>
据我使用,好像siteconf下有几个文件就对应着几个网站<br>
贴一下重要的语法[ 一定要回到安装的目录下执行才生效除非使用 sudo ]:<br>
./jws stop 停止jexus<br>
./jws restart 重启jexus<br>
./jws start 启动jexus<br>
以上的jexus命令操作都可对单独的网站使用,具体的命令还是去官网了解吧~</p>
</blockquote>
<ol start="5">
<li>
<p>测试 jexus(上面的命令已完成安装jexus):</p>
<ul>
<li>cd / [ 回到根目录 ]</li>
<li>cd var [ 进入:var ]</li>
<li>mkdir www [ 创建目录并使用cd进入 www ]</li>
<li>mkdir default [ 再创建default目录,再找个简单的index.html传入进来进行测试 ]</li>
<li>cd /usr/jexus/siteconf/ [ 回到jexus目录下并进入:siteconf 网站配置目录 ]</li>
<li>vi default [ 查看文件并修改,按下FN+Insert,修改目录为: root: / /var/www/default/ ,再保存--按下ESC -- 再按下Shift+:--输入wq!进行保存(如果修改错了输入q!重新来)]</li>
<li>cd ../ [ 回到jexus根目录 ]</li>
<li>./jws start [ 启动jexus网站或者使用-重启jexus ]</li>
<li>curl localhost [ 访问本地的网站 ]</li>
</ul>
</li>
</ol>
<blockquote>
<p>如果有正确的返回一些HTML源码[非包含错误信息]那就说明可以跑jexus了<br>
可多写一些非HTML文件进行测试jexus,比如传:aspx 文件,看是否可以正常解析</p>
</blockquote>
<p>最后:如果测试正常就可以使用FTP将ZIP传至服务器内,然后先在服务器安装解压工具[ yum install unzip ],进行解压文件[ unzip *.zip ]</p>
<h3 id="特别鸣谢">特别鸣谢</h3>
<p>贴身技术指导:Evan - 链接<br>
文章网友帮助:褪色的记忆1982 - 链接<br>
文章网友帮助:Allen0910 - 链接</p><br><br>
来源:https://www.cnblogs.com/1ddd/p/12956411.html
頁:
[1]