在 centos 部署angular与dotnet core服务
部署到linux服务器
服务器环境要求
CentOS
≥ 7.0
node
≥ v12.13.0
nginx
最新
pm2
最新
安装nodejs
首先安装wget
yum install -y wget
如果已经安装了可以跳过该步
下载nodejs最新的bin包
wget https://nodejs.org/dist/v12.13.0/node-v12.13.0-linux-x64.tar.xz
然后就是等着下载完毕。
解压包,依次执行
xz -d node-v12.13.0-linux-x64.tar.xz
tar -xf node-v12.13.0-linux-x64.tar
移动文件夹到 /usr/local/nodejs
mv node-v12.13.0-linux-x64 /usr/local/nodejs
最后,还需要配置下环境变量
vim /etc/profile
在文件最未尾添加:
export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
:wq
保存后,然后运行,
source /etc/profile
查看环境变量是否生效
echo $PATH
最后测试
node -v
npm -v
npx -v
安装nginx
安装先决条件:
sudo yum install yum-utils
要设置yum存储库,请创建 /etc/yum.repos.d/nginx.repo
包含以下内容的文件 :
sudo vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
默认情况下,使用稳定的nginx软件包的存储库。如果要使用主线nginx软件包,请运行以下命令:
sudo yum-config-manager --enable nginx-mainline
要安装nginx,请运行以下命令:
sudo yum update
sudo yum install nginx
当提示您接受GPG密钥时,请验证指纹是否匹配 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
,如果是,则接受它。
安装完成后查看版本
nginx -v
nginx使用
安装完成后,nginx的几个目录
执行目录:/usr/sbin/nginx
模块所在目录:/usr/lib64/nginx/modules
配置所在目录:/etc/nginx/
默认站点目录:/usr/share/nginx/html
主要配置文件:/etc/nginx/nginx.conf 指向:/etc/nginx/conf.d/default.conf
PID目录:/var/run/nginx.pid
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
查看nginx状态
systemctl status nginx.service
启动、停止、重载命令
systemctl start nginx.service
systemctl stop nginx.service
systemctl reload nginx.service
systemctl status nginx.service
注意:当配置完Nginx.conf并重新启动Nginx时,需要一定的时间才会生效。
centos重启后自动启动nginx
systemctl enable nginx.service
配置nginx服务器
server {
listen 80;
server_name test.web.baidu.com;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://localhost:5651;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 80;
server_name test.api.baidu.com;
root /www/testSite;
index index.html;
}
文件上传需在http节点设置较大的缓存
client_max_body_size 100m;
然后重启nginx
安装mariadb
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
要设置yum存储库,请创建 /etc/mariadb.repos
包含以下内容的文件 :
sudo vim /etc/yum.repos.d/mariadb.repos
# MariaDB 10.5 [Stable] CentOS repository list - created 2020-08-06 08:56 UTC
# https://mariadb.org/download-test/
[mariadb]
name=MariaDB
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.5/centos7-amd64
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装mariadb
sudo yum update
sudo yum install MariaDB-server MariaDB-client
启动MariaDB
systemctl start mariadb
首次修改root密码
mysqladmin -u root -p password 123456
修改完登录
mysql -u root -p123456
安装.net core 3.1
安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安装运行时
.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。
sudo yum install aspnetcore-runtime-3.1
安装pm2
npm install pm2 -g
启动nodejs程序
pm2 start app.js
启动dotnet core程序
pm2 start "dotnet 路径/某.dll"
监控
pm2 monit
其它命令
pm2 list
pm2 stop
pm2 restart
pm2 delete
centos重启服务器后自启
pm2 startup
保存已经定义的pm2任务
pm2 save
传输文件到linux服务器
使用命令传输文件夹
scp -r /本地电脑路径 root@远程服务器ip:/远程服务器路径
如果使用的是共享服务器,可以指定端口
scp -P 端口 -r /本地电脑路径 root@远程服务器ip:/远程服务器路径
传输文件则不使用
-r
参数
部署到angular-ssr 到 windows服务器
服务器环境要求
iis
≥ 7.0
node
≥ v12.13.0
iisnode
≥ 0.2.26 (full-x64)
url-rewrite
需要最新版
iisnode 下载地址
[https://github.com/Azure/iisnode](https://github.com/Azure/iisnode)
1.iis站点权限要配置 IIS_USER
可读写
2. 应用程序池 NET CLR版本修改为 无托管
3. 应用程序池模式修改为 经典
4. 应用程序池标识修改为 ApplicationPoolIdentity
5. 运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
申请HTTPS证书
使用certbot工具申请letsencrypt发行的免费ssl证书