美文网首页
服务器初探

服务器初探

作者: ITtian | 来源:发表于2018-02-12 16:39 被阅读17次

    一,购买服务器(低配的话,40RMB/月左右)。

    国内的(腾讯云,阿里云)比较稳定,但是需要备案,比较麻烦,而且看你的地址,北京上海这边还要上传居住证,我就卡在这里了,浪费我的钱还好只买了三个月的
    国外的不需要备案,但是不是很稳定,买在香港也不用备案(若只是个人使用的话,建议买在香港),阿里云上面的入门云服务器300RMB/Year

    个人理解
    买服务器就相当于买了个主机(都有一个ip地址),然后自己选择在主机上装什么系统,装什么软件都可以,随便自己折腾
    一般我们自己开发的时候,都是在本地配好环境,然后本地起一个服务,当前开启这个服务的有很多,因为我是一个前端,所以我知道node,
    这个时候你的IP地址就是服务器地址,只是一般用localhost代替了,
    如果别人知道你的IP的话,也是可以访问你当前的项目的。当然需要在一个局域网内,试想一下,如果随便一个人都可以访问你的IP,那你电脑上的文件岂不是很危险。购买服务器的同时会有一个公网的IP,所以别人可以访问到你的网站。

    二,购买域名

    买了服务器之后,总不能让人家背你的ip进行访问吧,所以你这时候就需要有个域名了
    可以去万网买个域名(50RMB/Y),买好了之后,就是进行DNS解析了。意思就是将你的域名指向你的服务器IP地址。
    这样人家访问域名的时候,DNS就能解析这个域名,就知道需要去你的服务器获取资源。

    三,备案,云平台里面就可以进入备案系统。首次填写的东西比较多。备案审核时间比较久。所以有句话,要建站,先备案(很麻烦,所以这时候服务器买在香港(国外)的好处就出来了,买了就可以直接使用)

    四,买好了服务器之后,登陆你的服务器,可以使用阿里云提供的远程链接直接在网页上登陆服务器,也可以直接使用shell 直接ssh 服务器,然后在你的服务器上安装相关的软件(Nginx),不然一个空白的主机,怎么为人家服务呢

    ssh root@xxx.xxx.xxx.xxx -p yyyy
    

    首次登陆时,先更新系统

    yum update -y
    

    安装node(可以使用nvm),这里直接下载安装包,然后做软链

    wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz
    

    解压文件

    tar xvf node-v8.9.3-linux-x64.tar.xz
    

    做软链,使node全局有效

    ln -s /root/node-v8.9.3-linux-x64/bin/node /usr/local/bin/node
    ln -s /root/node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm
    

    安装PM2

    npm install pm2@latest -g
    

    创建软链接,使pm2命令全局有效

    ln -s /root/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/pm2
    

    安装git

    yum install git
    

    我们在本地上开发的时候,需要安装node等等,然后启一个服务,在服务器上也一样,需要安装nginx(tomcat等等)
    只不过我们的电脑可能还需要看电影,听音乐等等,区别就是服务器专注于提供一个服务。
    安装nginx并配置nginx

    yum install nginx
    cd /
    cd etc/nginx
    vim nginx.conf
    

    安装好了Nginx之后(说的好简单,坑还是要自己踩的),就是开启Nginx

    nginx
    

    nginx启动之后就可以直接访问IP看到nginx 的欢迎页面了
    ps: 可以ping通IP的时候,但是不能通过IP访问时,可以在阿里云的实例中增加配置规则

    五,chrome宣布7月不再支持http了,http都会被标记不安全,所以还有必要部署下https,这个查下资料

    六,部署静态页面和node.js项目

    nginx对于域名为xxxx.com的请求,都会请求到/home/www目录下,所以我们通过git或者scp等方式把静态资源目放置在/home/www目录下即可

    ssh root@xxx.xxx.xxx.xxx -p yyyy
    cd /home/www
    git clone https://github.com/yourGithub/yourProject.git
    

    对于nodejs项目,我们使用pm2来守护进程,让项目在后台运行。首先需要安装nodejs,然后再安装pm2

    curl -sL https://rpm.nodesource.com/setup_9.x | bash -
    yum install nodejs
    
    npm i pm2 -g
    

    接下来依然把nodejs项目通过git放置在/home/www目录下,进入目录,执行下列命令

    npm i
    
    pm2 start index.js --name server
    
    ┌─────────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
    │ App name    │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
    ├─────────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
    │  my-server  │ 0  │ fork │ 2306 │ online │ 22      │ 7h     │ 0%  │ 46.2 MB   │ root │ disabled │
    └─────────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
     Use `pm2 show <id|name>` to get more details about an app
    

    最后在nginx.conf里面添加一条代理规则(假设node服务端口为3000):

    location /server/ {
      proxy_pass  http://localhost:3000
    }
    

    这样,就能够通过https://xxxx.com/server/访问到nodejs项目了。

    七,部署打包

    最简单的就是在本地打包编译好,然后将其压缩成一个压缩包,最后上传到服务器上去,在服务器上解压。人家再次访问的时候就是最新的内容了。

    jenkins打包只是将我们打包的动作放在了另一台机器上,任何人部署升级都是在这个机器上操作。先更新代码,然后打包,最后上传,好处就是不用每个人都配一个部署环境了。

    到此为止,用户就可以访问道你的项目了,当然这只是最简单的静态项目,就只是一个html然后里面执行了一些js而已,最典型的就是react单页面。创建一个react项目,然后build之后,就可以打包上传上去了。

    若是想要动态的话,那还需要起个node服务提供接口,然后提供个数据库存储数据。
    这个将会是下一步的努力方向。

    总结:服务器还有很多知识,这个算是最简单的了解吧,但是对于一个完整的流程理解还是有用的。

    原文地址:不仅仅是前端er——折腾服务器武装自己

    相关文章

      网友评论

          本文标题:服务器初探

          本文链接:https://www.haomeiwen.com/subject/dbtdtftx.html