• .net 程序员的centos命令总结


    1,ssh相关

    在初始化一台云服务器的时候,第一件事情就是去把该关的门都关上,首先第一关就是禁用root登录,禁用密码登录,顺便改一下远程登录端口,让登录都通过ssh密钥对来进行,阿里云里有密钥对管理,创建完以后会下载一个私钥给你,公钥通过将密钥对绑定到新建的服务器放到新服务器的目录/root/.ssh/authorized_keys 这个文件就是公钥.

    一,给root设置一个密码

    passwd root #输入两次密码确认
    

    二,创建一个用于远程登陆的用户,我的新用户名叫newuser

    useradd newuser
    passwd newuser //输入两次密码确定,新用户就创建成功了
    
    

    三,使得私钥可以用于newuser登录

    #1,创建文件夹
    mkdir /home/newuser/.ssh
    #2,复制公钥到用户的.ssh目录
    cp /root/.ssh/authorized_keys /home/newuser/.ssh/
    #3,修改/home/newuser/.ssh/ 这个文件夹所属的用户和权限 【以root身份才可以执行】
    chown newuser /home/newuser/.ssh/ -R #修改/home/newuser/.ssh/归属 newuser所有,-R表示递归执行 chown是change own的简称
    #4,修改权限authorized_keys公钥的权限,修改文件所属者和相应的权限
    chmod 700 /home/newuser/.ssh/authorized_keys 
    #chmod的是change mode的简称,权限分三位,第一位的数字表示文件所属者的权限,第二位表示文件所在组其他人的对文件的权限,第三位表示其他人对文件的权限
    #文件的权限分三种分别位读写和执行,对应的二进制码位100【读】,010【写】 和001【执行】,10进制表示的文件权限即为相应权限的和,比如读写执行就是100+010+001=111转换成10进制就是7
    #chmod和chown可以说是非常常用的命令,如果根据他们原来英文名称去记忆会容易许多。
    

    四,通过MobaXterm_Personal测试新用户通过ssh密钥对连接是否可以成功

    avatar

    五,开启防火墙,开放新端口,禁用默认远程端口

    #1,开启防火墙,并设置开机启动
    systemctl start firewalld.service
    systemctl enable firewalld.service
    #开启用于远程的端口为保险起见先留着22
    firewall-cmd --zone=public --add-port=22/tcp --permanent
    firewall-cmd --zone=public --add-port=1000/tcp --permanent #控制1000端口可以通过防火墙【作为远程登录端口】
    firewall-cmd --zone=public --remove-port=22/tcp --permanent #关闭22端口
    firewall-cmd --reload #刷新配置,使得配置生效
    # 修改ssh配置使得1000端口可用于远程登录
    vim /etc/ssh/sshd_config #按i进入编辑状态,按esc退出编辑状态,进入命令状态,命令状态输入 :/xxx,输入完按回车根据关键字xxx搜索,按n下一个  命令状态按:u撤销 ,命令状态输入:wq保存并退出按 :q退出,按q!强制退出不保存
    #添加Port 1000 添加Port 22[默认会有,先不要去掉,等所有修改就绪,没有问题的时候再去掉],执行ssh_port端口添加
    semanage port -l | grep ssh #查看目前ssh可用端口
    semanage port -a -t ssh_port_t -p tcp 1000 #添加1000端口到ssh可用端口列表
    systemctl restart sshd.service #重启ssh服务,为安全起见,请勿关闭当前命令窗口,打开一个新终端去连接服务器,端口写1000,用户名写新加的newuser,选中私钥 如果可以进去系统说明配置成功了,紧接着禁用root登录和密码登录
    vim /etc/ssh/sshd_config #修改下边两个配置
    PermitRootLogin no
    PasswordAuthentication no
    systemctl restart sshd.service #重启服务
    

    打开阿里云,点击安全组,添加需要开启的端口

    2,服务相关,作为.net程序员于centos的交集大多数是发布一些网站,网站发布完以后常用的一些操作可能还会包括查看服务日志,状态等。

    安装.net core环境 参考 docs for dotnet install

    #1,创建第一个服务,centos中所有与配置相关的东西几乎都在/etc/目录下,服务相关的配置也在这里  首先创建一个服务启动的配置文件
    vim /etc/systemd/system/你的服务.service 
    
    # 如下就是一个示例的dotnet的服务配置, 其中User 填写新加的用户newuser,workingdirectory写发布到centos中的程序目录, 
    [Unit]
    Description=Example .NET Web API App running on Ubuntu
    
    [Service]
    WorkingDirectory=/var/www/helloapp
    ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll
    Restart=always
    # Restart service after 10 seconds if the dotnet service crashes:
    RestartSec=10
    KillSignal=SIGINT
    SyslogIdentifier=dotnet-example
    User=newuser
    Environment=ASPNETCORE_ENVIRONMENT=Production
    Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
    [Install]
    WantedBy=multi-user.target
    
    #将上述内容复制到 你的服务.service中,修改关键配置,workingdir,ExecStart,以及Environment,将程序文件复制到workingdir指定的目录中开启服务
    
    systemctl enable 你的服务.service #添加开机自动启动
    systemctl start 你的服务.service #启动服务
    systemctl stop 你的服务.service #启动服务
    systemctl restart 你的服务.service #重启服务
    systemctl status 你的服务.service #查看服务状态
    journalctl -fu 你的服务.service #查看服务日志,在调试的时候会非常有用,可以实时看到相关服务的输出
    journalctl -u 你的服务.service #查看服务的所有日志
    journalctl -u >a #将所有日志文件写入到a文件中
    

    Environment 开头的配置就是环境相关的配置,这里可以设置启动urls,响应超时等... 参考 .net core服务主机配置

    3 redis相关

    安装 yum install redis
    开机启动 systemctl enable redis;
    重启 systemctl restart redis;
    启动 systemctl start redis;
    停止 systemctl stop redis;
    配置相关:
    修改密码和端口 vim /etc/redis.conf
    port 表示端口 requirepass 密码 可以通过在命令状态下输入 :/关键字 查找 按 n下一个
    增加安全控制 禁止使用特定命令 摘自阿里云:

    rename-command FLUSHALL ""
    rename-command FLUSHDB  ""
    rename-command CONFIG   ""
    rename-command KEYS     ""
    rename-command SHUTDOWN ""
    rename-command DEL ""
    rename-command EVAL ""  
    
  • 相关阅读:
    pipelinewise 学习二 创建一个简单的pipeline
    pipelinewise 学习一 docker方式安装
    Supercharging your ETL with Airflow and Singer
    ubuntu中使用 alien安装rpm包
    PipelineWise illustrates the power of Singer
    pipelinewise 基于singer 指南的的数据pipeline 工具
    关于singer elt 的几篇很不错的文章
    npkill 一个方便的npm 包清理工具
    kuma docker-compose 环境试用
    kuma 学习四 策略
  • 原文地址:https://www.cnblogs.com/zzfstudy/p/14524164.html
Copyright © 2020-2023  润新知