We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一直都在用 Vultr 的服务器,但是网速真的太特么慢了,100+ 毫秒的 ping,经常连 4G 都访问不了,做做实验还行,有应用部署在上面就完全用不了。所以最后还是选择了国内大哥阿里云(尼玛贵了一倍有多
那么又要重新在上面部署安装各种环境、软件了,这里记录一下,防止以后又要再迁移。
基本是参考 安装 MySQL 5.7 的,注意装的是 5.7 版本。
在配置中漏了一个连接使用 utf8 的配置,补上:
[client] default-character-set=utf8
之前在 Vultr 上装的 Nginx 不能开 HTTP2,因为 OpenSSL 的版本不对,要源码编译安装用 1.0.2 的 openssl. 但现在 CentOS 7.4 已经用上了最新的 openssl 了,所以直接用 yum 装就可以支持 http2 了!
# yum install nginx # nginx
装好之后马上启动,就能访问了,这样安装的默认配置是
/etc/nginx
/usr/share/nginx/html
然后有几件事要搞定:HTTPS、Gzip、单页路由配置、API 代理
这里应该是包括了 HTTP2 的,但是最新版的 nginx 的 https 模块是默认开启了 h2 的,所以只需要开启 https 就可以了。
https 需要证书认证,免费证书非 Let‘s encrypt 最好用了,配合 certbot 工具,拿到一个证书易如反掌。
参考这里的操作就能拿到一个证书了。
注意 root 换成我们的 nginx web root 就可以了。
在 /etc/nginx/nginx.conf 的 server 域加入以下语句
/etc/nginx/nginx.conf
server
注意 JavaScript 的资源有可能 content-type 是 application/javascript,漏了这个一直没压缩 js
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 5; gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript;
当我们部署了单页应用在 nginx 上时(如 Vue、Angular 等),如果应用的前端路由是使用 HTML5 新的 history API 来做路由(就是地址栏看不到 #,不是用的 Hash),当用户刷新页面的时候,会由于直接找到 nginx 对应的 Web 目录而报 404。因此需要设置 nginx 当找不到文件时,定位回 index.html.
location /fastfood/ { try_files $uri $uri/ /fastfood/index.html; }
try_files 会检查文件是否存在,不存在就跳转至应用所在的 index.html
try_files
index.html
使用 nginx 可以代理开放在内部端口的 API 后端应用,这样就不用处理跨域的问题,而且安全性更好
location ^~ /fastfood/api/ { rewrite ^/fastfood/api/(.*) /fastfood/api/$1 break; proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://127.0.0.1:8360/; proxy_redirect off; }
将所有 /fastfood/api 的请求代理到后端的 8360 端口。
/fastfood/api
全程按官网搞,轻松愉快。
yum install git
The text was updated successfully, but these errors were encountered:
居然要刷新一下才能更新...
Sorry, something went wrong.
No branches or pull requests
一直都在用 Vultr 的服务器,但是网速真的太特么慢了,100+ 毫秒的 ping,经常连 4G 都访问不了,做做实验还行,有应用部署在上面就完全用不了。所以最后还是选择了国内大哥阿里云(尼玛贵了一倍有多
那么又要重新在上面部署安装各种环境、软件了,这里记录一下,防止以后又要再迁移。
MySQL
基本是参考 安装 MySQL 5.7 的,注意装的是 5.7 版本。
在配置中漏了一个连接使用 utf8 的配置,补上:
Nginx
之前在 Vultr 上装的 Nginx 不能开 HTTP2,因为 OpenSSL 的版本不对,要源码编译安装用 1.0.2 的 openssl. 但现在 CentOS 7.4 已经用上了最新的 openssl 了,所以直接用 yum 装就可以支持 http2 了!
装好之后马上启动,就能访问了,这样安装的默认配置是
/etc/nginx
/usr/share/nginx/html
然后有几件事要搞定:HTTPS、Gzip、单页路由配置、API 代理
HTTPS
这里应该是包括了 HTTP2 的,但是最新版的 nginx 的 https 模块是默认开启了 h2 的,所以只需要开启 https 就可以了。
https 需要证书认证,免费证书非 Let‘s encrypt 最好用了,配合 certbot 工具,拿到一个证书易如反掌。
参考这里的操作就能拿到一个证书了。
注意 root 换成我们的 nginx web root 就可以了。
Gzip
在
/etc/nginx/nginx.conf
的server
域加入以下语句单页路由设置
当我们部署了单页应用在 nginx 上时(如 Vue、Angular 等),如果应用的前端路由是使用 HTML5 新的 history API 来做路由(就是地址栏看不到 #,不是用的 Hash),当用户刷新页面的时候,会由于直接找到 nginx 对应的 Web 目录而报 404。因此需要设置 nginx 当找不到文件时,定位回 index.html.
try_files
会检查文件是否存在,不存在就跳转至应用所在的index.html
API 代理
使用 nginx 可以代理开放在内部端口的 API 后端应用,这样就不用处理跨域的问题,而且安全性更好
将所有
/fastfood/api
的请求代理到后端的 8360 端口。nodejs
全程按官网搞,轻松愉快。
Git
yum install git
The text was updated successfully, but these errors were encountered: