.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密钥对连接是否可以成功
五,开启防火墙,开放新端口,禁用默认远程端口
#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服务主机配置
.net 程序员的centos命令总结的更多相关文章
- 后端程序员必备的 Linux 基础知识+常见命令(近万字总结)
大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要 ...
- 打磨程序员的专属利器——命令行&界面
工欲善其事,必先利其器,程序员更是如此,如果没有一套与自己思维同步的工具,将非常难受并且编码效率会非常低. 但十个程序员就有对工具的十种不同理解,本人现在冒然将自己的“工具箱”拿出来晒晒.若对大家没帮 ...
- 写给iOS程序员的命令行使用秘籍
http://www.jianshu.com/p/44d3b8f713f2 Mac OS是Unix系统的分支,有着强大的命令行功能.很多事情在命令行下处理会事半功倍,所以我就iOS程序员可能会用到的功 ...
- 每一个程序员需要了解的10个Linux命令
作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...
- 【转】每一个程序员需要了解的10个Linux命令
作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...
- 漫谈程序员(十八)windows中的命令subst
漫谈程序员(十八)windows中的命令subst 用法格式 一.subst [盘符] [路径] 将指定的路径替代盘符,该路径将作为驱动器使用 二.subst /d 解除替代 三.不加任何参数键入 ...
- java程序员常用的linux命令
作为一个java后端开发者,在日常工作中肯定会有和linux打交道的时候.下面我整理了一些开发中可能需要用到的一些命令(写这篇随笔前,我也没有什么操作经验,主要防止自己忘记这些操作命令,以后有用到新的 ...
- Java程序员必须掌握的常用Linux命令。
Java程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作.小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令. Linux常用指令 ls 显示文件或目录 - ...
- 程序员必须知道FTP命令
程序员必须知道FTP命令 文件传输软件的使用格式为:FTP<FTP地址>,若连 接成功,系统将提示用户输入 ...
随机推荐
- 【论文笔记】AutoML for MCA on Mobile Devices——论文解读与代码解析
理论部分 方法介绍 本节将详细介绍AMC的算法流程.AMC旨在自动地找出每层的冗余参数. AMC训练一个强化学习的策略,对每个卷积层会给出其action(即压缩率),然后根据压缩率进行裁枝.裁枝后,A ...
- Web 前端如何一键开启上帝模式
Web 前端如何一键开启上帝模式 God Mode document.designMode = `on`; refs https://www.cnblogs.com/xgqfrms/tag/desig ...
- js Array All In One
js Array All In One array 方法,改变原数组(长度),不改变原数组(长度) https://developer.mozilla.org/en-US/docs/Web/JavaS ...
- JavaScript Array methods performance compare
JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...
- flutter web in action
flutter web in action flutter for web https://flutter.dev/web https://flutter.dev/docs/get-started/w ...
- bowser checker & UA
bowser checker & UA navigator.userAgent; https://developer.mozilla.org/en-US/docs/Web/HTTP/Brows ...
- 一周精彩内容分享(第 3 期):开工大吉的 B 面
这里记录过去一周,我看到的值得分享的东西. 一方面是整理记录一下自己一周的学习,另一方面也是期待自己有更多的输出,有更多的价值. 周刊开源(Github:wmyskxz/weekly),欢迎提交 is ...
- 11_MySQL如何让数据分页显示
-- 数据分页 SELECT empno,sal FROM t_emp LIMIT 5;
- hadoop的lzo支持
目录 1.下载相关文件: 2.Configure LZO to build a shared library (required) and use a package-specific prefix ...
- 调用Config.ini类
private static string sPath = @Directory.GetCurrentDirectory() + "\\config.ini"; [DllImpor ...