.netcore测试环境配置(centos7,.netcore2.0,涉及面比较全面)

    几年没有写博客了(真的是几年了)。翻了一下之前的内容,发现当时有很多错误,和幼稚的理解。随着工作越来越忙,研究的时间越来越少了。(以上是与主题毫无关系的感慨)

    废话不多说了,这篇文章并非理论讲解,主要是记录一下安装配置dotnetcore环境的过程,应有尽有,便于查询。

特别标注下,怕忘: whereis xxx 查看软连接路径

vm出一个centos 7,完全干净的新系统,进入正题:

【ip设置】

cd /etc/sysconfig/network-scripts/

ip addr

默认为ens33

vi ifcfg-ens33

修改

BOOTPROTO=static

添加

IPADDR=x.x.x.x

GATEWAY=x.x.x.x

NETMASK=255.255.255.0

PREFIX=24

DNS1=x.x.x.x

ZONE=public

然后重启

service network restart

 

【安装dotnet

设置包源:

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/yum.repos.d/dotnetdev.repo'

安装依赖

sudo yum update

sudo yum install libunwind libicu

sdk安装:

sudo yum install dotnet-sdk-2.1.4

运行时安装:

sudo yum install dotnet-runtime-2.0.6

sudo yum install dotnet-hosting-2.0.5

注意一定要装hosting

 

【配置firewall】, 语法:

sudo firewall-cmd --permanent --zone=public --add-service=http 

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp

sudo firewall-cmd --reload

 

【nginx安装】

神奇包源法(已验证,推荐):

sudo yum install epel-release

sudo yum install nginx

第二种(检验过):

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
依赖项:

yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

依赖项可能没用

yum install nginx

安装完成之后,配置nginx

vi /etc/nginx/conf.d/default.conf

内容为:

server {

  listen 80;

  location / {

    proxy_pass http://localhost:5000;  

  }

}

上述配置将80转发到dotnet的5000端口

回/etc/nginx/nginx.conf,把server节删掉(不在这里配置)

启动

systemctl start nginx

测试下,会出现502  

502是因为selinux保护机制,需要把nginx加入白名单

/usr/sbin/setsebool httpd_can_network_connect true

/usr/sbin/setsebool -P httpd_can_network_connect=1

 修改conf后都要

nginx -s reload


【装mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

不下载应该也行

载入包源 

rpm -ivh xxxx.rpm

安装

 yum install mysql-community-server

community够用了

加入自启动:

systemctl enable xxxx

装好后找到  /var/log/mysqld.log  查找temporary password  找到初始密码

登入 

mysql -u root -p 输入密码

改掉默认密码

set password for 'root'@'localhost'=password('MyNewPass4!');  

默认的密码策略(validate_password_policy)为 MEDIUM。

密码策略定义为:

0 or LOW                  Length
1 or MEDIUM             
Length; numeric, lowercase/uppercase, and special characters
2 or STRONG            Length; numeric, lowercase/uppercase, and special characters; dictionary file

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件

validate_password_policy=0

如果不需要密码策略,文件中添加如下配置禁用即可:

validate_password = off

修改默认编码:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

查看编码:

show variables like '%character%'; 

 

【安装Supervisor

跟nodejs一样,dotnet阻塞了shell。如果退出shell,dotnet程序也会退出,一般保活方式supervisor。

如果安装神奇包源(见上面,nginx安装),可以直接

yum install supervisor

(已验证,推荐)。

或者通过python(第二种方法):

yum install python-setuptools

easy_install supervisor

生成配置文件:

echo_supervisord_conf > /etc/supervisord.conf

修改conf

[include]

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

解开上面的注释

对应去这目录下新建一个ini,比如:

mkdir /etc/supervisor.d

cd /etc/supervisor.d

vi xxx.ini

配置ini

[group: abc]

#programs=abc-4000

programs=abc-4000,abc-4001,abc-4002,abc-4003

 

[program:abc-7000]

command=dotnet abc.dll

directory=/home/www

user=root

autostart=true

autorestart=true

stdout_logfile=/var/log/abc/out.log

stderr_logfile=/var/log/abc/err.log

loglevel=info

注意下log一般放/var/log下

记得先去mkdir

用配置文件启动:

supervisord -c /etc/supervisord.conf  

如果不指定-c,也会用这个配置文件启动

配置好的程序(program)控制:

supervisorctl start xxxx

supervisorctl stopxxxx

supervisorctl restart xxxx

发生ini修改,记得

supervisorctl reload

-----------修改了一些错误----------

 上述是环境搭建,基本可以搭出一个完整的测试环境了。  If以后有空的话,再来讲讲(记录).netcore的具体实现和表现,依赖注入(or控制反转)的思想和具体集成方式,为将来拆分为微服务架构的代码层面准备工作,以及怎么用docker玩转dotnet。If有时间。

 



Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值