1. 安装VMWare软件
  2. 下载CentOS7,官网地址:https://www.centos.org/download/

以下针对各个版本的ISO镜像文件,进行一一说明:

  • CentOS-7.0-x86_64-DVD-1503-01.iso : 标准安装版,一般下载这个就可以了(推荐)
  • CentOS-7.0-x86_64-NetInstall-1503-01.iso : 网络安装镜像(从网络安装或者救援系统)
  • CentOS-7.0-x86_64-Everything-1503-01.iso: 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
  • CentOS-7.0-x86_64-GnomeLive-1503-01.iso: GNOME桌面版
  • CentOS-7.0-x86_64-KdeLive-1503-01.iso: KDE桌面版
  • CentOS-7.0-x86_64-livecd-1503-01.iso : 光盘上运行的系统,类拟于winpe
  • CentOS-7.0-x86_64-minimal-1503-01.iso : 精简版,自带的软件最少
  1. 在VMWare中安装CentOS7

安装出现错误

原因:Intel VT(Intel Virtualization Technology)虚拟技术未开启,需开启硬件平台才能同时运行多个操作系统。

解决:重启系统,开机按住F1键进入BIOS->Advanced->CPU Setup->Intel Virtualization Technology->Enable

注:不同品牌主机进入BIOS不一样,我的主机品牌为华硕

 

  1. VMWare中安装CentOS7过程请查看 https://www.jianshu.com/p/30adda560570
  2. 安装完CentOS7后在终端命令中执行以下命令
  3. 安装dotnet产品提要

要开始安装.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'

  1. 安装.NET SDK

更新可用于安装的产品,安装.NET所需的组件,然后安装.NET SDK。

sudo yum update

sudo yum install libunwind libicu

sudo yum install dotnet-sdk-2.2  #最新版本请关注官网

最后检查是否安装成功,输入命令:dotnet --version

如果输出版本号则说明安装成功。

  1. 使用Nginx配置反向代理
  2. 添加Nginx存储器

命令:sudo yum install epel-release

  1. 安装Nginx

命令:sudo yum install nginx

  1. 启动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  #重新加载配置

 

 

  1. 设置Nginx开机启动

命令: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

 

  1. 根据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和域名映射。

 

  1. Nginx错误

异常信息: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

 

  1. 文件命令

 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