linux容许多人、同时、在不一样的地点,操做同一台服务器。
能够设置多个用户,分组,能够修改设置每一个用户的权限。
经过ssh协议进行远程连接,登陆云主机。html
当拥有了一台云主机后:linux
ssh -p [port] username@ip_address
useradd manager -m
增长名为manager的用户,-m参数会同时在/home目录下创建manager目录passwd manager
设置manager用户的密码gpasswd -a manager sudo
将manager添加到sudo组,-a参数表示添加用户到组vi /etc/sudoers
manager ALL=(ALL:ALL) ALL
我在实做中执行完第3步后,不执行第4步,该用户也是具备管理员权限的。
要使用ssh进行远程免密连接,须要在咱们的本地机上生成ssh的公钥和私钥。
这两把钥匙文件,其中公钥文件将交给远程服务器保存。
每次本地机进行ssh连接远程主机时,本地机会先用本身的私钥进行加密,而远程主机会用保存的本地机的公钥进行解密,确认对方的身份以后就可容许对方登陆。
这么作就实现了免密登陆。若是远程主机没有持有对方的公钥,那么本地机就须要输入本身的用户密码登陆。nginx
主要使用git将本地机代码push到服务器上。或者在服务器上从github clone代码。git
apt-get update
apt-get upgrade
apt-get install git
ssh-keygen
该命令会在用户根目录下建立.ssh目录,并生成id_rsa和id_rsa.pub文件ssh-copy-id manager@id_address -p [port]
这行命令会在远端manager目录下生成一个authorized_keys文件。cat .ssh/authorized_keys
在manager的用户根目录中(/home/manager)用cat命令打印出该文件内容尝试使用git
这里以push一个本地hexo静态站为例:github
cd /var/repo
git init --bare hexo-blog.git
mkdir /var/www/hexo
vim /var/repo/hexo_static.git/hooks/post-receive
建立一个hooks钩子文件,在文件中添加以下两行#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f
chmod +x /var/repo/hexo_static.git/hooks/post-receive
保存后使文件具备可执行权限在hexo中设置仓库地址
在配置文件中修改以下信息mongodb
deploy: type: git repo: ssh://[uername]@[ip_address]:[port]/var/repo/hexo_static.git branch: master
hexo建站可参考网络文章,或个人这篇
主要设置iptables的配置项。
这里罗列一个简单的入门配置。
该配置能达到如下防御:数据库
如下具体的端口号(如3989,8080,19898)可根据我的业务修改
*filter # allow all connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # allow out traffic -A OUTPUT -j ACCEPT # allow http https -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 8080 -j ACCEPT # allow ssh port login -A INPUT -p tcp -m state --state NEW --dport 3989 -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 19898 -j ACCEPT # ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # log denied calls -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7 # drop incommin sensitive connections -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP # reject all other inbound -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT
开启iptables设置规则 iptables-restore < /etc/iptables.up.rules
ubuntu
sudo apt-get install nginx
设置nginx的配置文件
在/etc/nginx/conf.d下新建一个配置文件,命名为test-8080.conf的文件,填充相似以下内容。将达到这些效果:可以将访问app.test.cn的域名转发到8080端口的应用去处理;对blog.test.cn的访问将用hexo的静态站呈现vim
upstream test { server 127.0.0.1:8080; } server { listen 80; server_name app.test.cn; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_pass http://test; proxy_redirect off; } } server { listen 80; listen [::]:80 ipv6only=on; server_name blog.test.cn; root /var/www/hexo; index index.html index.htm; }
sudo nginx -s reload
这时咱们的hexo静态站应该就能够经过blog.test.cn访问了。bash
sudo vi /etc/mongod.conf
在该文件将port更改成你想更改的portiptables-restore < /etc/iptables.up.rules
sudo service mongod restart
mongo --host 127.0.0.1:[port]
成功连接数据库说明安装配置正确