将个人博客部署到云服务器上
云服务器上部署自己的个人博客
1、配置安全组
开放80端口-----我的已经修改成1880了 防火墙和安全组都要开放 然后禁止80 改回了
需要加入安全组(不加nginx不会访问到)
2、重置密码 重启
password:
················
3、xshell连接

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可以使用

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

还有hexo d推送配置文件里也要加上端口和ssh://
look look 欢迎来踩踩😁
nginx重启
service nginx restart
配置文件修改重装载命令
nginx -s reload

浙公网安备 33010602011771号