.Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤

1、安装工具

1、apache

2、.Net Core(dotnet-sdk-2.0)

3、Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站)

2、安装apache

安装apache,在命令行终端中输入一下命令:

sudo zypper in apache

(注意这个与ubuntun中的添加不一样,

buntun中sudo apt-get install apache2 )

(注:查看apache 版本 sudo apachectl -v)

安装完成,开始启动

重启apache服务(设置两项,1是可用,2是启动)

可用:sudo systemctl enable apache2.service

(注意这个与ubuntun中的添加不一样,

buntun中sudo /etc/init.d/apache2 restart )

启动:sudo systemctl start apache2.service

在浏览器里输入http://localhost或者是http://127.0.0.1,如果看 到了It works!,那就说明Apache就成功的安装了,Apache的默认文档根目录是在SUSE上的/srv/www/htdocs/目录 ,如果出现403页面拒绝访问错误,原因是没有index.html导致,添加一个index.html文件即可,添加index.html文件之后,重新刷新浏览器,显示添加内容ok。

注意:添加文件需要权限,所以通过

命令 sudo chmod a+w /srv/www/htdocs/ 授权,这样就可以添加index.html初始页了,

备注:配置文件是/etc/apache2/httpd.conf。

配置存储在的/etc/apache2/conf.d /目录。

3、安装.NET Core 2.0

1、注册Linux系统(Suse SLES 12 X64)

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/dotnetdev.repo'

2、更新安装包,安装.NET Core

sudo zypper update

sudo zypper install libunwind libicu

sudo zypper install dotnet-sdk-2.1.4

注意安装过程中出现解决方案选择,选择 2 。

4、查看一下 dotnet --version  结果是  2.1.4 则说明安装成功。

(注:简单的应用程序项目文件夹,使用以下命令启动网站,只要打开发布网站的文件,右键终端中打开 dotnet run或者dotnet xx.dll,即可运,xx为网站的名称)

sudo dotnet xxx.dll

然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际IP和端口访问(mmps的端口设置的是8080))

注意:如果外网无法访问8080端口的话,设置如下

1、sudo chmod a+w /etc/sysconfig/SuSEfirewall2 #授编辑权限

2、vi SuSEfirewall2 或者直接打开SuSEfirewall2文件进行编辑

3、编辑内容:在文件SuSEfirewall2中找到FW_SERVICES_EXT_TCP,在其后面加上服务名或者是服务对应的端口,如SSH,
FW_SERVICES_EXT_TCP=”ssh” 或 FW_SERVICES_EXT_TCP=”22″ 或者FW_SERVICES_EXT_TCP=”8080″,如果要开放多个端口则为 FW_SERVICES_EXT_TCP=”8080 89″ #多个端口用空格分开,保存之后退出。

4、重启防火墙,以使配置生效,
  sudo rcSuEfirewall2 restart

到此位置基本就实现了通过IP访问,然而每次关机以后,重新开机都需要去手动的启动发布的网站项目才能访问,因此我们下面使用Supervisor托管自动启动网站服务操作,保证每次只要一开机,网站就可以正常。
3、安装Supervisor(设置开机自动设置网站)

1、右键在终端中打开,输入安装命令:

安装python

sudo zypper in python-pip

sudo pip install -U setuptools

pip install supervisor

2、安装完成之后,创建相关文件,

echo_supervisord_conf > supervisord.conf

sudo  mkdir /etc/supervisor

sudo  mkdir /etc/supervisor/conf.d

sudo cp supervisord.conf  /etc/supervisor/supervisord.conf

注:1、supervisord.conf中的 /tmp换成相应的/var/run或者 /var/log

(使用sudo chmod a+w etc/supervisor/supervisord.conf 就可以打开进行编辑了,/tmp换成相应的/var/run或者 /var/log替换之后,保存)

2、把supervisord.conf中的

;[include]节点处

;files = relative/directory/*.ini

换成

[include]

files = /etc/supervisor/conf.d/*.conf

3、配置文件,取名为 MmPSCore.conf (当前项目的名称)

sudo touch /etc/supervisor/conf.d/MmPScore.conf (自定义项目名称,本项目是MmPScore.conf)

打开MmPSCore.conf写入如下命令(如果没有权限,

请如下方法

sudo chmod a+w /etc/supervisor/conf.d/MmPScore.conf(命令启动编辑)

命令内容如下:

[program:MmPSCore]

command=dotnet MmPSCore.dll #要执行的命令(发布网站执行文件)

directory=/home/xx/MmPSCore#命令执行的目录(发布网站文件路径)environment=ASPNETCORE__ENVIRONMENT=Production #环境变量

user=www-data #进程执行的用户身份(可能需要去掉)

stopsignal=INT

autostart=true #是否自动启动

autorestart=true #是否自动重启

startsecs=1 #自动重启间隔

user=root ; #进程执行的用户身份(可以不写)

stderr_logfile=/var/log/TestCore.err.log #标准错误日志

stdout_logfile=/var/log/TestCore.out.log #标准输出日志

//注:#后面的内容为注释,在保存上面的文件代码时,记得删除

上述操作完后,保存,

运行supervisord,查看是否生效,执行以下命令:

supervisord -c /etc/supervisor/ supervisord.conf

(执行这一句报错:Cannot open an HTTP server: socket.error reported errno.EACCES (13),解决这个错误方法:sudo chmod 777 /run )

ps -ef | grep ProjectName

返回

root 27007 27006  1 13:21 ?  00:00:02 dotnet ProjectName.dll

root 27026 26810 0 13:23 pts/0 00:00:00 grep --color=auto ProjectName

表示运行成功!

如果有错误的话,建议执行下面的命令

这个两句命令很重要

sudo supervisord -c /etc/supervisor/supervisord.conf

sudo supervisorctl -c /etc/supervisor/supervisord.conf

4、配置supervisord开机启动

  1. 在指定目录下创建文件supervisord.service

sudo touch /usr/lib/systemd/system/supervisord.service

sudo chmod a+w /usr/lib/systemd/system/supervisord.service

B.输入以下内容:

[Unit]

Description=Supervisor daemon

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

ExecStop=/usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

KillMode=process

Restart=on-failure

RestartSec=42s

[Install]

WantedBy=multi-user.target

保存并退出

C.执行以下命令:设置开机启动

systemctl enable supervisord

提示:

Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.

D.验证是否为开机启动:

systemctl is-enabled supervisord

提示:

enabled

表示设置成功!

至此,创建supervisor守护进程完毕。

备注:

设置开机启动命令  systemctl enable supervisord.service

启动supervisor进程  systemctl start supervisord.service

关闭supervisor进程  systemctl stop supervisord.service

5、测试

接下来重启机器,在浏览器中输入IP地址,看看网站是否跟随开机自动运行。

ASP.NET Core 2.0 MVC 发布部署--------- SUSE 16 Linux Enterprise Server 12 SP2 X64 具体操作的更多相关文章

  1. ASP .Net Core系统部署到SUSE 16 Linux Enterprise Server 12 SP2 64 具体方案

    .Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...

  2. ASP.NET Core 2.0 MVC 发布部署--------- Ubuntun 16.04 X64 具体操作

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  3. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  4. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  5. ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...

  6. ASP.NET Core 2.0 MVC 发布部署--------- CentOS7 X64 具体操作

    .Net Core 部署到 CentOS7 64 位系统中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是 ...

  7. ASP.NET Core 2.0 MVC 发布部署--------- IIS 具体操作

    .Net Core 部署到 IIS系统中的步骤 一.IIS 配置 启用 Web 服务器 (IIS) 角色并建立角色服务. 1.Windows Ddesktop 桌面操作系统(win7及更高版本) 导航 ...

  8. ASP.NET Core 2.0 MVC 发布部署--------- linux安装.NET CORE SDK具体操作链接以及操作总细节

    具体链接:https://www.microsoft.com/net/learn/get-started/linuxubuntu 如下图:

  9. 无法下载apk等格式的文件的解决方案---ASP .NET Core 2.0 MVC 发布到IIS上以后无法下载apk等格式的文件的解决方案

    ASP .NET Core MVC 发布到  IIS 上以后 无法下载apk等格式的文件 使用.NET Core MVC创建了一个站点,其他文件可以下载,但是后来又需求,就把手机端的apk合适的文件上 ...

随机推荐

  1. Linux环境安装.NET运行环境

    Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...

  2. java学习3-Maven的使用

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Depen ...

  3. Redis学习笔记一:Redis安装

    Redis安装 1.下载进入redis官网下载redis-xxx.tar.gz包 2.将redis-xxx.tar.gz拷贝到Linux某一目录下并对其进行解压 tar -zxvf Redis-xxx ...

  4. BZOJ3509 [CodeChef] COUNTARI 【分块 + fft】

    题目链接 BZOJ3509 题解 化一下式子,就是 \[2A[j] = A[i] + A[k]\] 所以我们对一个位置两边的数构成的生成函数相乘即可 但是由于这样做是\(O(n^2logn)\)的,我 ...

  5. C11构造函数的改善

    1.委托构造函数 委托构造函数就是允许在同一个类中一个构造函数可以调用另一个构造函数,从而在初始化时简化变量的初始化. class CTest { public: int x; int y; int ...

  6. 使用 XSLT 作为 HTML 的样式表

    简介 当听到样式表这个词时,您可能会想到 CSS 样式表.XSLT 样式表通常用于 XML 转换,比如在 Web 服务之间映射数据.因为 XSLT 非常适合此用途,所以创建了顶层元素 <styl ...

  7. bzoj 2213: [Poi2011]Difference

    Description A word consisting of lower-case letters of the English alphabet ('a'-'z') is given. We w ...

  8. 【CodeForces】899 E. Segments Removal

    [题目]E. Segments Removal [题意]给定n个数字,每次操作删除最长的连续相同数字(等长删最左),求全部删完的最少次数.n<=2*10^6,1<=ai<=10^9. ...

  9. 使用inline-block,使前面img,后面空div居中显示在一行后,导致当div中有内容时,div下移问题

    .pro_li img,.pro_sm{display: inline-block; *display:inline;*zoom:1;vertical-align: middle ;} 解决方法:使用 ...

  10. Spring Boot工程结构推荐

    工程结构(最佳实践) Spring Boot框架本身并没有对工程结构有特别的要求,但是按照最佳实践的工程结构可以帮助我们减少可能会遇见的坑,尤其是Spring包扫描机制的存在,如果您使用最佳实践的工程 ...