在linux CentOS上部署netcore项目(Tengine、netCore、Centos、mysql)
一、前言
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
1、简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤。
2、简单比较一下Tengine 和Nginx
二、开始安装环境
Tengine是淘宝发起的web服务器项目,简单的讲就是对nginx进行了二次开发并提供了更丰富的功能,
官网地址:http://tengine.taobao.org/,目前最新的稳定版本是2.3.0,我这里也用的这个版本,
1、查看环境
[root@centos ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2、安装之前(这一步可以跳过,直接使用命令安装,比较方便)
下载pcre-8.39.tar.gz【依赖】
下载zlib-1.2.11.tar.gz【依赖】
下载openssl-1.0.1h.tar.gz【依赖】
下载jemalloc-3.6.0.tar.bz2 【依赖】
下载 tengine-2.3.0.tar.gz 【http://tengine.taobao.org/download/tengine-2.3.0.tar.gz】
[root@centos ~]# cd /usr/local/src/
[root@centos ~]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
[root@centos ~]# wget http://zlib.net/zlib-1.2.11.tar.gz
[root@centos ~]# wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz
[root@centos ~]# wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2
[root@centos ~]# wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
3、安装之前
在安装之前首先检查一下是否已安装nginx的一些模块依赖的lib库,诸如g++、gcc、pcre-devel、openssl-devel和zlib-devel。所以下面这些命令最好挨个跑一遍,已安装的会提示不用安装,未安装或需要更新的则会执行安装及更新
yum install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
执行这个是有用的,执行完成之后在安装
3、安装Tengine,安装主程序在这里
cd /usr/local/src/
wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
解压安装包文件
tar -zxvf tengine-2.3.0.tar.gz
安装Tengine-2.3.0
cd /usr/local/src/tengine-2.3.0/src/core
不指定目录方式,全部默认安装,以后可以修改
./configure
生成和编译
$ make
$ sudo make install
4、配置
编辑文件
vim /lib/systemd/system/nginx.service
输入内容
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
设置权限
chmod 745 nginx.service
#启动nginx服务
systemctl start nginx.service
#设置开机自启动
systemctl enable nginx.service
#停止开机自启动
systemctl disable nginx.service
#查看服务当前状态
systemctl status nginx.service
#重新启动服务
systemctl restart nginx.service
#查看所有已启动的服务
systemctl list-units --type=service
二、安装Net Core部署NetCore
官方推荐安装方式:
Install .NET Core SDK on Linux CentOS / Oracle - x64
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2###
wget -c https://download.visualstudio.microsoft.com/download/pr/80e1d007-d6f0-402f-b047-779464dd989b/9ae5e2df9aa166b720bdb92d19977044/dotnet-sdk-2.2.101-linux-x64.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.2.101-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
dotnet --version #可以看到版本号意味着安装成功
三、部署Net Core web 程序
1、利用ftp服务器上传web文件,我这里传到目录是:/home/sopftpuser/ftp/upload/Tools
详细文章看:https://www.cnblogs.com/sopcce/p/10743241.html
2、配置nginx
vi /usr/local/nginx/conf/nginx.conf
具体编辑内容
server {
listen 80;
server_name webname;
location / {
proxy_pass http:localhost:5000;
}
}
3、这样一个简单的nginx反向代理服务器就配置完毕了,重启启动
systemctl restart nginx.service
4、运行web应用
cd /home/sopftpuser/ftp/upload/Tools
dotnet Sop.Tools.dll
#运行web应用,这里就是web程序运行的类库
以下备注 ,到这里我可以访问我自己设置的网站了:http://39.98.237.120/
5、配置web应用为后台服务
vi /usr/lib/systemd/system/webname.service
[Unit]
Description=Webname Web App[Service]
WorkingDirectory=/home/sopftpuser/ftp/upload/Tools
Environment=ASPNETCORE_ENVIRONMENT=Production
ExecStart=/usr/bin/dotnet NetCore.fw.web.dll
Restart=always
RestartSec=10[Install]
WantedBy=multi-user.target
systemctl enable webname
#开机自启systemctl start webname
四、总结
到这里就结束了
不足:
对CentOS命令不熟悉
对Tengine和Nginx不太熟悉
这里下次查询资料在做补充。
更新日期:2019-04-22
