网站的一些知识:
- 域名:方便人们记忆,因为不是一般人都可以记住ip
- 空间: 早期的网站,人们一般不会购买主机,而是使用别人主机上的一个虚拟空间,可以理解为一个文件夹
- 主机: 实际上就是一台远程的电脑,只是不是物理电脑
一些集成环境了解
- LNMP: Linux Nginx MySql PHP
- WAMP: Windows Apatch MySql PHP
- LAMP: Linux Apatch MySql PHP
- MAMP: Mac Apatch MySql PHP
- XAMPP: Apache MySql PHP PERL
后端常见语言
- .net
- Java web
- php
- ruby
- python
- go
- …
基于node的部署(deployment)
-
安装nodejs, 由于yum的资源比较老,要安装更新的nodejs, 请看末尾
$ yum install nodejs
-
为了保证node应用不被中止,需要安装 pm2.
$ npm install pm2 -g
-
随便使用任何node服务器即可,比如http-server:
$ npm install http-server -g
-
根据pm2的文档操作
centOS nginx部署
- 安装nginx
$ yum install nginx -y
- 装好之后,在 /etc/nginx 目录下,看到有一堆文件, 其中 nginx.conf 这个文件就是默认的nginx 配置文件, 下面有一个目录叫conf.d的目录用于存储我们自己写的配置。
- 如果报nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)类似的错误,那就先执行:
$ nginx -t
将得到如下的输出
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
这时执行
$ nginx -c /etc/nginx/nginx.conf
$ nginx -s reload
如果nginx配置正确,直接访问咱们的公网ip地址,应该能得到的是welcome to nginx
- 进入到 /etc/nginx/conf.d 新建一个 任意名字.conf 在里面写入server的配置
如果单页应用没有使用hash router,那么就会刷新之后页面无法访问
只需要在server配置里加上
location / {
try_files $uri $uri/ /index.html;
}
代理设置
location /api/ {
proxy_pass ip:port
}
server配置看起来像这样
server {
listen 8000;
root /var/www/yourfolder/build/;
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://serverip:4444;
}
}
解决nginx不能***npm run build***的问题
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
$ sudo /sbin/mkswap /var/swap.1
$ sudo /sbin/swapon /var/swap.1
安装更高版本的node
$ curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
$ yum install nodejs