Life is not all beer and skittles. --dt

将个人博客部署到云服务器上

云服务器上部署自己的个人博客

1、配置安全组

开放80端口-----我的已经修改成1880了 防火墙和安全组都要开放 然后禁止80 改回了
需要加入安全组(不加nginx不会访问到)

2、重置密码 重启

password:
················

3、xshell连接

22-ssh

4、安装nginx

yum install -y nginx

5、启动nginx

systemctl start nginx
systemctl enable nginx
//nginx默认的配置路径是 /etc/nginx/

6、访问测试

只要确保了80端口开放,加入安全组,可通过 公网IP访问到nginx默认页面

7、安装Git

yum install git
git --version

8、创建用户并配置其仓库

  useradd git
	passwd git // 设置密码
	su git
	cd /home/git/
	mkdir -p projects/blog // 项目存在的真实目录
	mkdir repos && cd repos
	git init --bare blog.git // 创建一个裸露的仓库
	cd blog.git/hooks
	vi post-receive // 创建 hook 钩子函数,输入了内容如下

	#!/bin/sh
	git --work-tree=/home/git/project/blog --git-dir=/home/git/repos/blog.git checkout -f

上面的钩子函数代表 把repos/blog.git 目录下类容拷贝到 project/blog 下面 至于为什么不用git clone 是因为clone包含了许多的commit等操作

  添加完毕后修改权限
	chmod +x post-receive
	exit // 退出到 root 登录
	chown -R git:git /home/git/repos/blog.git // 添加权限

9、在本地测试git仓库是否可用,是否能拉取下来

git clone git@server_ip:/home/git/repos/blog.git
注意是有个隐藏文件 .git

10、在本地建立ssh信任关系

ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip // 测试能否登录
注意用Git Bash🔔

11、配置nginx

刚刚已经安装好了nginx 阿里云的默认下好的配置文件在etc/nginx下的nginx.conf

cd /etc/nginx/
vi nginx.conf
---------------
	user root;                             /这里改成root

	server {
		listen       80 default_server;       //端口
		listen       [::]:80 default_server;  //端口
		server_name  47.xxx.xx.172;           //你的服务器IP
		root         /home/git/project/blog;  //博客存放的目录
----------------

12、这时候本地的hexo目录下的_config.yml文件

## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo:
    aliyun: git@47.xxx.xx.172:/home/git/repos/blog.git
  branch: master
  message: 'web updata: {{now("YYYY-MM-DD HH/mm/ss")}}'

然后hexo clean hexo g hexo d三部曲就能发布到服务器上了,就可以通过server_ip可以访问你的网站了🤘

还要在服务器重装载下nginx
nginx -s reload

为了不要这么麻烦 可以在上面第8布创建钩子函数的时候
vi post-receive
下面加一行 nginx -s reload

13、绑定域名

  • 域名解析 添加两条记录
  • 主机记录分别为@和www
  • 记录值为你的公网IP
  • 记录类型都选A
  • 其他默认
    域名解析
    这时候就可以通过你的域名去访问了,但是会提示备案
    备案
    在这里顺便说下,如果之后备案了,可以在FREE SSL进行申请ssl的免费证书,这样你的网站就从http变成https了😊

更改ssh默认连接端口 提高ssh暴力破解难度(难的不会)

1、修改ssh连接端口

vi /etc/ssh/sshd_config

	# If you want to change the port on a SELinux system, you have to tell
	# SELinux about this change.
	# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
	#
	Port 22        --去掉注释
	Port 2333      --增加Port 2333
	#AddressFamily any
	#ListenAddress 0.0.0.0
	#ListenAddress ::

2、保存退出后重启ssh

systemctl restart sshd.service

3、添加防火墙规则

centos7下不允许用service命令 改成了systemctl使用
但是仍然可以安装iptables-services去解决

3.1、停止防火墙

systemctl stop firewalld
systemctl mask firewalld

3.2、安装iptables-services

yum install iptables-services

3.3、设置开机启动防火墙

systemctl enable iptables

3.4、启动iptables

systemctl start iptables

3.5、配置防火墙规则

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2333 -j ACCEPT

3.6、查看防火墙规则

iptables -nL --line-number

3.7、保存

service iptables save

4、进行ssh连接,使用2333端口

连接成功,2333可以使用
2333-ssh

5、打开sshd_config

vi /etc/ssh/sshd_config

6、找到Port 22,注释或者删除,重启ssh

systemctl restart sshd.service

7、通过22端口连接失败,2333端口连接成功

更改完成!👍

注意:就算在安全组里加入了8888端口,还要在防火墙规则中增加8888端口才能访问宝塔等别的端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
service iptables save

还有默认进入网页的80端口 也配置防火墙

其他需要开放的端口同样

修改完默认22端口
ssh-copy-id登陆时候也要更改端口
	ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub "-p yourPort git@server_ip"
	ssh -p yourPort git@server_ip

ssh-2333
还有hexo d推送配置文件里也要加上端口和ssh://


look look 欢迎来踩踩😁
nginx重启
service nginx restart
配置文件修改重装载命令
nginx -s reload

posted @ 2019-12-09 11:35  啦啦啦灬  阅读(1179)  评论(0)    收藏  举报