如何在Linux服务器部署自己的网站?

前提

突然想在腾讯云的服务器上部署一个markdown编辑器供自己使用,毕竟自己动手丰衣足食嘛。之前在我的服务器上已经部署过博客、一些静态网页了。但是很长时间没有去操作过了。借着这一次机会再把相关流程巩固一遍。

准备工作

1、云服务器一台
2、域名一个
3、mac使用Finalshell,win使用 xShell

安装Ngnix

1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

[root@cx]# wget http://nginx.org/download/nginx-1.6.2.tar.gz

2、解压安装包

[root@cx]# tar zxvf nginx-1.6.2.tar.gz

3、进入安装包目录

[root@cx]# cd nginx-1.6.2

4、编译安装

[root@cx nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@cx-1.6.2]# make
[root@cx-1.6.2]# make install

安装ngnix 的教程可以自行在网上搜索,很多。

配置ngnix

在服务器中 cd /etc/ngnix/conf.d 目录下 新增 md.conf 配置如下

server {
charset utf-8;
client_max_body_size 128M;
listen 80; 
server_name markdown.lieme.cn;      // 网站访问的域名
root        /usr/share/nginx/html/web/markdown/;    // 静态文件放置的目录
index       index.html;
location / {    
try_files $uri $uri/ /index.html;
}
// 如果是 vue 打包生成的项目,记得配置一下这个。
// 将路由访问的页面如果不存在则重定向到idnex.html
}

配置完成后,Esc 然后 wq 保存退出。
先nginx -t 查看配置是否正确然,后然后记得重启ngnix nginx -s reload 这时候在浏览器中访问 markdown.lieme.cn 应该可以访问了。

开启https访问

因为这里是腾讯的服务器和域名,直接在腾讯云后台申请一年的免费证书,即可。下载下来是一个 zip 包,因为服务器安装的是ngnix,那我们直接选择ngnix的就行。

// 解压缩后在文件中ngnix文件中有一个 key 和 crt

1_你的域名_bundle.crt
2_你的域名.key

将上面两个文件上传到你的 ngnix 目录下

cd /etc/ngnix

然后在对ngnix下的conf.d文件中刚刚新建的md.conf添加如下代码:

server {
    charset utf-8;
    client_max_body_size 128M;
    listen 80;
    ssl on;
    ssl_certificate /etc/nginx/1_你的域名_bundle.crt;
    ssl_certificate_key /etc/nginx/2_你的域名.key;
    ssl_session_timeout 5m;
}

配置 ssl_ciphers

server {
    ssl_protocols TLSv1.1 TLSv1.2; #按照这个协议配置
    #ssl_ciphers         HIGH:!aNULL:!MD5;
    #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_ciphers '
    ECDHE-ECDSA-AES256-GCM-SHA384:
    ECDHE-RSA-AES256-GCM-SHA384:
    ECDHE-ECDSA-CHACHA20-POLY1305:
    ECDHE-RSA-CHACHA20-POLY1305:
    ECDHE-ECDSA-AES128-GCM-SHA256:
    ECDHE-RSA-AES128-GCM-SHA256:
    ECDHE-ECDSA-AES256-SHA384:
    ECDHE-RSA-AES256-SHA384:
    ECDHE-ECDSA-AES128-SHA256:
    ECDHE-RSA-AES128-SHA256';
}

配置完成后,Esc然后 wq 保存退出,执行 ngnix -t 检查命令是否有错,如果没错重启 ngnix -s reload

总结

部署完成之后,对于自己的体验和学习又有了进一步加深的作用,虽然之前已经实现过,但是每一次的体验和提升都是不同的感觉:

1、加深了linux部署的流程
2、ngnix相关的配置
3、网站添加 https 
4、域名解析的操作
5、vue打包的项目因为路由设置的不同ngnix的
配置也会有所不同。

等等