当前位置:首页 > CN2资讯 > 正文内容

云平台 对接

8小时前CN2资讯


    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器。

    一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好后,就占用1GB的内存了;只要运行起来,2G的内存就用掉了;装上SqlServer、跑个.net,4G内存是标配,用户数量稍微多些4G内存也捉襟见肘了;分配2个VCpu,在桌面状态下不运行任何程序,每个核心的占用率在15%~20%左右。

    大家知道64位的CentOS7装好后内存占用是多少吗,用free看了下,不到150兆;

    64位的Ubutu16.04装好后内存占用多少?40MB

    用过Linux Server,不禁赞叹其系统的精简和高效,没有一点浪费内存和CPU的地方,所有的资源都用在刀刃上;难怪微软在《.NET 微服务:适用于容器化 .NET 应用程序的体系结构》一书上说,基于.Net Core的ASP.net比传统ASP.net要快10倍以上。开发和运维.NET Core,首推Linux下的Container环境。Windows Server不停的在做Server-Core和Nano-Server,也是在不断地做减法,以适应形势。多年以来.net一直干不过java,操作系统也是个很大原因。

    好了,先不扯开发,买了X里云的VPS,默认用root SSH远程登录上去的,这跟我们平时自己装的很不一样,没有第二个用户,上去也不用su,也用不着sudo。

 

    这里把整个流程记录下来,方便大家配置和部署(如果自己找资料估计要配个一、两天)

  • 安装Mysql

 

apt-get update apt-get install mysql-server apt-get install mysql-client apt-get install libmysqlclient-dev 安全选项:mysql_secure_installation 测试状态:systemctl status mysql.service

     以root登录后,添加mysql远程访问用户:


GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; flush privileges;


    退出mysql命令行,编辑启动文件


vi /etc/mysql/mysql.conf.d/mysqld.cnf


    linux下可以用vi,可以用vim,也可以用nano(估计有数十种编辑器)

    注释 bind-address = 127.0.0.1
    重启服务或系统

    登录mysql,建库


CREATE DATABASE `pokerbox` /*!40100 COLLATE 'utf8_unicode_ci' */;


    开发的同学注意了,在Windows下,Mysql不管是是5.7还是8.0,数据库表名默认都是不区分大小写的,而Linux下数据库表名都是区分大小写的,会导致用脚本导出的数据库在Linux无法正常使用。需要改Windows下Mysql的配置。

 

  • 安装Postgresql

    为什么要用Postgresql?Linux下可以安装SqlServer2017/2019嘛,但是SqlServer On Linux的系统需求是内存大于3.25G。而且非商业授权的Express版本只能用到1G内存多一点,可想而知用户数量多了后会是怎样一个状况。安装多个实例?

    Postgresql是最接近Oracle框架的Sql,不管从表空间、语法、Schema、函数都无比类似Oracle,据说还有个特别的企业版本完全兼容Oracle,可以无缝的把Oracle应用迁移过来,帮企业省数十万$;它的性能、事务、扩展支持等都十分强大(支持几乎所有语言的扩展但是不支持.net的扩展),采用比较奇葩的多进程工作方式。开发社区里有不少中国人。最新版本11,我们觉得9、10的版本也够了。


wget -q -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' apt update apt install postgresql-10 -y


    装好后使用postgres管理用户登录


sudo -u postgres psql


    配置、管理用户等。

    使用Mysql还是Postgresql根据自己的业务需要,如果是一般的互联网项目,单表读/写比较多的,开发人员水平参差不齐的,建议使用Mysql;如果是企级项目、云平台管理项目,使用Postgresql,里面有大量的扩展和特性以及事务属性供使用,以后招OracleDBA方便维护。关于Postgresql里面的一些特殊使用技巧我另外还有文章来描述。

 

  • 安装Redis

apt-get install redis-server


     查看状态


/etc/init.d/redis-server status


    编辑redis配置文件


vi /etc/redis/redis.conf


    Redis和Postgreql在Linux下的安装包只有几MB,SqlServerOnLinux的实际安装包也就一百多兆。

 

  • 安装.Net Core

 

apt-get install curl wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb dpkg -i packages-microsoft-prod.deb sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-2.2

 

 

  • 安装VsFtp

    建立一个只能通过ftp登录的用户,固定目录,其他用户不能登录

 


apt-get install vsftpd useradd FTP用户名 -g ftp -d /var/www passwd FTP用户名 密码 cd / mkdir www chmod 777 -R /var/www usermod -s /sbin/nologin FTP用户名


 

    编辑vi vsftpd.conf,需要启用名单用户


nano /etc/vsftpd.conf nano /etc/vsftpd.chroot_list


    只写入FTP用户名

    安装Iptables


apt-get install iptables-persistent iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT netfilter-persistent save netfilter-persistent reload


 

  •    运行.NET Core程序

    用FTP用户上传你的代码,运行


dotnet xxx.dll


    网站能打开,说明一切OK


curl http://xxxxxxxxx:xx


 

    把你的ASP.net程序配置成服务启动:


nano /etc/systemd/system/kestrel-xxx.service


    内容如下:

 


[Unit] Description=Example .NET Web API App running on Ubuntu [Service] WorkingDirectory=/var/www ExecStart=/usr/bin/dotnet /var/www/WebApplication3.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target


 

    检测这个服务的状态:


systemctl enable kestrel-xxx.service systemctl start kestrel-xxx.service systemctl stop kestrel-xxx.service systemctl status kestrelel-xxx.service


 

    好了,回头我再记录下MongoDB的安装配置。

 

 

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31592.html

    标签: 云平台对接
    分享给朋友:

    “云平台 对接” 的相关文章

    CloudCone VPS评测:高性能与灵活计费方案的完美结合

    在谈论CloudCone VPS之前,让我给你介绍一下这家服务商。CloudCone成立于2017年,起源于美国,主要是在洛杉矶的MultaCom机房提供云主机和VPS服务。自创立以来,CloudCone逐步发展壮大,不断优化和提升其服务质量,为用户提供便捷的云计算解决方案。可以说,CloudCon...

    Ubuntu 多人远程办公的安装与配置指南

    安装和配置远程桌面软件 在远程办公和团队协作日益成为常态的今天,合理配置远程桌面软件显得尤为重要。在Ubuntu的环境下,安装和配置xrdp和vncviewer等工具,可以让多个用户方便地进行远程访问,提高工作效率。下面,我将一步步带你进行相关的软件安装和配置。 1. 安装xrdp 首先,我们要安装...

    如何使用DigitalOcean优惠码获取200美元免费额度

    DigitalOcean是一家备受赞誉的云计算服务提供商,专门致力于为开发者和初创公司提供一流的云基础设施解决方案。通过其简单易用的界面和高效的性能,DigitalOcean帮助用户轻松地部署和扩展应用程序。我在使用DigitalOcean时,深刻感受到了它为开发者量身定制的便捷性,毫无疑问,这使得...

    选择和管理海外服务器的最佳策略与优势

    在如今这个信息高度发达的时代,海外服务器逐渐成为许多企业的不二选择。简单来说,海外服务器是指那些位于中国境外的数据处理设备。这些服务器致力于为全球用户提供高效的服务,不论是数据存储、网站托管还是其他在线服务。通过使用海外服务器,企业能够接触到更广阔的市场以及可定制的解决方案,以满足特定需求。 选择海...

    如何获取和使用evoxt优惠码,轻松享受购物乐趣与实惠

    在如今这个充满折扣与优惠的购物时代,获得evoxt的优惠码变得尤为重要。我还是忍不住想和大家分享一些获取这些优惠码的实用方法。这样不仅能够节省开支,还能在消费时感受到更多的乐趣。 官方网站注册及会员优惠 首先,我要强调的就是在evoxt的官方网站上注册一个账户。这一步真的很重要。注册后,你可以直接享...

    外网域名哪里最便宜?选择最佳注册商的指南

    1.1 什么是外网域名注册商? 外网域名注册商是提供域名注册服务的公司,它们通常允许用户选择和注册自己希望拥有的网站地址。这些注册商的作用不仅仅是处理注册申请。它们还提供一系列相关服务,例如域名转移、续费、DNS管理以及隐私保护等。选择合适的注册商对于建立网站而言非常重要,它直接影响到域名的成本和后...