从购买云服务器开始到成功部署网站并且可以正常外网访问整个体系流程(从0到1的过程)

准备工作:

  1. 购买云服务器(阿里云或腾讯云都行),过程一样。
  2. 购买域名,并做解析处理,通过域名访问网站(后面需要自行备案)。

云服务器一些基本配置处理:

  1. 用密码登录方式登录root用户到云服务器上

  2. 登录成功后,添加新用户,以后使用此用户进行操作即可。后面登录会做安全防护配置,会禁止使用roo用户t登录,具体如何添加新用户,请参考此文章

  3. 上一步操作成功后,后续登录都使用新添加的用户登录操作即可。修改登录方式为ssh免密登录,这里要注意,如果按照参考文章进行配置后,还无法登录,可能是需要chmod修改权限,文章中有写。具体请参考此文章

  4. 之后就是登录的安全防护,修改服务器登录,这步需要注意:PasswordAuthentication no这个配置项是用来控制是否允许使用密码登录,no表示关闭,但前提是第三步中没有任何问题,不然可能会ssh登录不成功,当然了,如果不成功,则在网页端,进行VNC登录进去,先把PasswordAuthentication no改为PasswordAuthentication yes并保存退出,之后在本地ssh终端利用密码登录进去,对第三步中的问题进行修改,一般就是权限的问题,修改成功后,再重新修改第四步中的配置即可。具体请参考此文章

  5. 第四步中有个Port xxxx 的配置,这个是对默认登录端口的重改,具体端口个人设置即可,但需要注意的是配置第四步前,得先去网页端添加规则,添加完规则后登录时后面就得加上 -p xxxx,即你新加的登录端口,就不是默认的22端口了,图示如下:

    登录端口
    最后测试免密登录是否成功:ssh username@xxx.xxx.xxx.xxx -p xxxx ,@后面是服务器公网IP,-p后面是你自己添加的登录端口,如果直接登录进去,不用输入密码了,说明成功了。

搭建服务器环境及部署网站资源

前面关于用户登录及一些基本的安全配置相关的如果没有任何问题了,下面就进入到登录进服务器之后要准备的一些基本工作了。

  1. 安装需要用到的东西,比如nginx,git等等,具体根据自己搭建需求进行扩充即可,这里就只说nginx和git的前期安装,因为目前我这里只用到这两个,后台一些相关的暂时没用到,基本都一样,有需要者自行查阅资料即可。

  2. 安装nginx,这个应该是必须的,不然网站咋搭建,相关命令如下:

    # 安装 Nginx:
    yum -y install nginx  
    # 查看 Nginx 版本
    nginx -v
    # 查看 Nginx 安装目录
    rpm -ql nginx
    # 启动 Nginx
    service nginx start
    

    访问该云服务器的公网 IP 地址,出现如下页面则表示 Nginx 部署完成:
    nginx
    进入nginx的配置文件路径一般是:vim /etc/nginx/nginx.conf,如果路径不是这,自行百度查找其他情况,一般就几种情况。

    然后要说的就是nginx.conf文件,具体示例图如下,可根据自身需求进行自定义配置:
    nginx配置
    nginx重启及配置检查,请参考此文章

    到这nginx相关的基本完了,如还有问题请在提问栏提出问题或自行查阅相关资料即可。

  3. 下来就是部署网站资源,两种方式,一种是将资源通过scp命令相关操作上传到服务器(具体参考此文章),另一种就是直接在服务器上使用git拉去代码文件即可。

    我这里使用的git方式拉取资源代码,首先云服务器上安装git,安装命令:yum -y install git,后续操作和平时使用git拉取代码一样。不过这种方式要注意的是需要在服务器 .ssh下生成密钥,并将公钥复制添加到git远程仓库的ssh配置里去,这样才能成功拉去代码到服务器,原理和在本地生成密钥,将公钥添加到远程仓库拉取代码是一样的,具体请参考此文章

    一般在服务器根目录下建一个文件夹作为网站资源的根目录,cd /mkdir xxx,xxx表示的就是自己建的网站根目录,具体自己命名即可。

结束语

到这里基本差不多结束了,要做的就是测试通过外网域名访问网站是否能正常访问,不能正常访问的话,说明前面哪里出了问题,具体自己细心排查即可,有问题也可咨询我,看到会回复的。

好啦,暂时就讲这么多,如有补充说明的,后面有时间的话可能会补充上去的,感觉该说的都说了,应该也没啥说的了,哈哈哈哈哈~我该睡觉啦!扛不住了!!!

补充一下可能会遇到的情况:

当所有的配置操作弄完后,拉取代码发现还在报Permission denied (publickey),但是github上已经配置了ssh了,最后在github上ssh常见问题里找到对应问题才发现,原来是git命令前面加了sudo导致始终拉不下来代码,知道了原因之后一切就ok了,示例图如下(具体问题排查文档地址):

问题查看位置入口示意图:

问题入口

问题解决方案示意图:

问题点

如果按上面全部正确操作,拉取代码还报权限问题,就只有一种可能了,那就是拉取代码的所在目录权限不够导致的,先回退到上一层目录,然后sudo chmod 777 xxx,xxx表示的是拉取代码的目录,先给他最大权限,然后再拉取代码即可。不过chmod之前,先查看目录本身原有的权限,git拉取结束后,记得将xxx目录权限使用chmod还原回去即可。

如果这篇文章刚好对你有所帮助,记得点个赞哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值