以下针对各个版本的ISO镜像文件,进行一一说明:
安装出现错误
原因:Intel VT(Intel Virtualization Technology)虚拟技术未开启,需开启硬件平台才能同时运行多个操作系统。
解决:重启系统,开机按住F1键进入BIOS->Advanced->CPU Setup->Intel Virtualization Technology->Enable
注:不同品牌主机进入BIOS不一样,我的主机品牌为华硕
要开始安装.NET,您需要注册Microsoft签名密钥并添加Microsoft产品提要。每台机器只需要做一次。 打开命令提示符并运行以下命令:
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'
更新可用于安装的产品,安装.NET所需的组件,然后安装.NET SDK。
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.2 #最新版本请关注官网
最后检查是否安装成功,输入命令:dotnet --version
如果输出版本号则说明安装成功。
命令:sudo yum install epel-release
命令:sudo yum install nginx
命令:sudo systemctl start nginx
说明:如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
说明:在浏览器中访问本机IP验证是否成功运行,如果能看到Nginx默认转发的网页则说明正常。
如果拒绝访问,考虑服务器80端口是否开放。可尝试通过下面两条命令开放80端口、重启防火墙使修改即时生效。
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld
或使用如下方式设置防火墙开启http和https协议并开启5000端口
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp
sudo firewall-cmd --reload #重新加载配置
命令:systemctl enable nginx
其他命令:
systemctl disable nginx #禁止开机启动
systemctl status nginx #查看运行状态
systemctl restart nginx #重启服务
nginx -s reload #重新加载配置文件
nginx -s reopen #重启Nginx
nginx -s stop #停止Nginx
nginx -t #检查配置文件是否有错
yum remove nginx #卸载nginx
主配置文件路径:/etc/nginx/nginx.conf
可以看到主配置文件中含有这一行:include /etc/nginx/conf.d/*.conf;
它代表nginx启动时会加载conf.d/下的所有.conf的配置文件。
如果没有conf.d目录则新建目录并新建文件
新建文件命令:touch /etc/nginx/conf.d/test.conf
test.conf配置内容:
upstream site {
# 实际IP地址
server 192.168.72.128:5000;
}
server {
listen 80;
# server_name 这里填写你的域名
server_name www.test.com;
# 匹配静态文件,进行缓存
location ^~ static/ {
expires 30d;
# 填写你静态文件的实际地址,一般为tomcat ROOT目录下的某个文件夹
root /root/wwwroot/test/;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|js|css|htm|zip|rar|tar|gz)$ {
expires 30d;
root /root/wwwroot/test/wwwroot/;
}
# 这里是关键的地方,这里匹配/ 进行反向代理。
location / {
# 下面的参数可以获取客户真实IP
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 50m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 32 4k;
proxy_busy_buffers_size 64k;
proxy_connect_timeout 30;
proxy_send_timeout 300;
proxy_read_timeout 300;
# 这个参数就是反向代理指令
proxy_pass http://site;
}
}
如果本地测试,则配置则在hosts文件中配置对应IP和域名映射。
异常信息:502 Bad Gateway
原因:SELinux保护机制所导致,需要将nginx添加到SELinux白名单。
解决:① yum install policycoreutils-python
② sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
③ sudo semodule -i mynginx.pp
cat info.log #显示文件内容
8.常用命令
ps -ef|grep dotnet (查看 .net core进程)
kill -9 id (杀死指定ID的进程)
ip addr (查看IP)
unzip code.zip (解压文件名为code.zip的文件)
sudo yum install -y unzip zip (安装zip格式解压软件)
//以后台进程启动.net core 程序:ApiClient.dll
nohup dotnet ApiClient.dll & jobs -l