網(wǎng)站的一些知識
- 域名: 方便人們記憶,因為不是一般人都可以記住ip
- 空間: 早期的網(wǎng)站,人們一般不會購買主機,而是使用別人主機上的一個虛擬空間,可以理解為一個文件夾
- 主機: 實際上就是一臺遠程的電腦,只是不是物理電腦
- DNS: domain name system, 用于綁定域名和ip
一些集成環(huán)境了解
- 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應(yīng)用不被中止,需要安裝 pm2.
$ npm install pm2 -g -
隨便使用任何node服務(wù)器即可,比如http-server:
$ npm install http-server -g 根據(jù)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)類似的錯誤,那就先執(zhí)行:
$ nginx -t
將得到如下的輸出
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
這時執(zhí)行
$ nginx -c /etc/nginx/nginx.conf
$ nginx -s reload
如果nginx配置正確,直接訪問咱們的公網(wǎng)ip地址,應(yīng)該能得到的是welcome to nginx
- 進入到 /etc/nginx/conf.d 新建一個 任意名字.conf 在里面寫入server的配置
如果單頁應(yīng)用沒有使用hash router,那么就會刷新之后頁面無法訪問
只需要在server配置里加上
location / {
try_files $uri $uri/ /index.html;
}
代理設(shè)置
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;
}
}
比較全的location配置
location / {
proxy_pass http://apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
解決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