• COMCMS 微进阶篇,从0开始部署到Centos 7.4


    言:上一篇,我们介绍了,如何本地调试和部署到windows服务器。

    本篇,将带大家,从0到1,开始部署到Centos系统上。。。

    经过测试,可以完美支持Centos。这也是.net core 跨平台的真正意义所在。

    项目github地址:https://github.com/hogenwang/comcms_core

    QQ讨论群:1600800

    说明:本篇仅是整合整个过程,实际上,所有的操作,google都有,大家可以多google.....

    前方高能预警,全程傻瓜式,只要你复制代码,粘贴执行即可!!!

    一、安装.net core SDK 2.1 (采用微软官方方法)

    sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
    sudo yum update
    sudo yum install dotnet-sdk-2.1

    安装后,输入:

    dotnet --info

    看到下面画面,就说明成功了。

    二、安装Mysql 5.7

    1、下载安装源:

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

    2、安装源

    rpm -ivh mysql57-community-release-el7-8.noarch.rpm

    3、安装mysql

    yum -y install mysql-server

    4、启动Mysql

    systemctl start mysqld

      查看mysql状态

    systemctl status mysqld

     看到绿色就放心了

    5、设置开机启动

    systemctl enable mysqld
    
    systemctl daemon-reload

    6、mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过上面的方式找到root默认密码(:后面为密码),然后登录mysql进行修改

    grep 'temporary password' /var/log/mysqld.log

    注意密码是红色框全部。

    登录mysql

    mysql -uroot -p

    输入刚刚找到的密码。

    mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR报错。

    此处代码用来修改密码强度:0 or LOW(密码任意,但长度在 8 位或以上)。

    我们这里只是为了方便才这么设置,如果是生产环境,建议使用高强度密码

    set global validate_password_policy=0;

    设置最少密码长度4:

    set global validate_password_length=4;

     修改密码:

    set password for 'root'@'localhost'=password('新密码');

    7、添加远程账户,主要因为默认账户只能本地登录。或者修改,或者添加一个远程,这样可以使用navicate来远程链接

    GRANT ALL PRIVILEGES ON *.* TO 'comcms'@'%' IDENTIFIED BY 'Password@123' WITH GRANT OPTION;

    当然,如果是阿里云服务器,你还要去设置好端口安全策略。这里就不再赘述如何配置。

    这就说明成功了。然后就可以导入SQL啦。

    三、安装Nginx

    1、下载源

    curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    2、安装源

    rpm -ivh nginx.rpm

    3、安装Nginx

    yum install nginx

    4、启动Nginx服务器

    systemctl start nginx

    5、设置开机启动Nginx:

    systemctl enable nginx

    一般情况下,启动后,输入服务器IP地址,应该可以看到:

    如果防火墙没有开放80端口,则可以配置一下:

    命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

    命令:systemctl restart firewalld(重启防火墙以使配置即时生效)

     至此,已经成功了一半了。再接再厉,继续。。。。。

    四、上传编译好的COMCMS 文件

    1、建立好目录:/home/wwwroot/comcms

    2、上传文件

    3、使用dotnet 命令运行COMCMS

    进入comcms目录后运行:

    dotnet COMCMS.Web.dll

    如果看到正常运行,说明成功。

    4、修改Nginx配置,转发.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;
        }
    }

    当然你可以下载下来修改。并覆盖上去。

    然后重启Nginx

    nginx –s reload

    5、打开IP地址,浏览是否成功:http://47.106.32.133

    看到这样的,就说明成功了。

    随后登录:

    至此,已经成功部署到Centos 7.4

    五、配置守护服务(Supervisor)

    1、安装Supervisor

    yum install python-setuptools
    
    easy_install supervisor

    2、配置Supervisor

    mkdir /etc/supervisor
    
    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    修改尾部并保存:

    [include]
    files = conf.d/*.conf

    3、配置对COMCMS应用的守护

    创建一个 comcms.conf文件,内容如下

    [program:COMCMS]
    command=dotnet COMCMS.Web.dll ; 运行程序的命令
    directory=/home/wwwroot/comcms/ ; 命令执行的目录
    autorestart=true ; 程序意外退出是否自动重启
    stderr_logfile=/var/log/comcms.err.log ; 错误日志文件
    stdout_logfile=/var/log/comcms.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT

    保存到:/etc/supervisor/conf.d 目录

    4、运行supervisord,查看是否生效

    supervisord -c /etc/supervisor/supervisord.conf
    
    ps -ef | grep comcms

    5、配置Supervisor开机启动

    新建一个“supervisord.service”文件

    # dservice for systemd (CentOS 7.0+)
    # by ET-CS (https://github.com/ET-CS)
    [Unit]
    Description=Supervisor daemon
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    ExecStop=/usr/bin/supervisorctl shutdown
    ExecReload=/usr/bin/supervisorctl reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    
    [Install]
    WantedBy=multi-user.target

    拷贝到:/usr/lib/systemd/system/supervisord.service

    执行命令:

    systemctl enable supervisord

    查看是否生效:

    systemctl is-enabled supervisord

    至此已经完全配置好了。

    最后,几点坑:

    如果安装后,发现XCode提示错误,请拉去最新的NewLife.Core 和XCode。编译后,替换dll

    最后,讨论群:1600800

  • 相关阅读:
    Flex4之关于Embed外部资源的使用方法总结
    Flex tree的开发 后台数据连接
    Flex4之Tree开发
    Flex自定义组件开发
    解决AS3请求数据的“安全沙箱冲突”问题
    purMVC代码备份
    译:如何配置Red5应用程序
    关于RED5——配置文件详解
    关于socket使用Amf直接进行对象传输的
    垃圾回收机制
  • 原文地址:https://www.cnblogs.com/m5v8/p/9275170.html
Copyright © 2020-2023  润新知