centos系統(tǒng)安裝nginx 解決npm run build報錯

網(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)

  1. 安裝nodejs, 由于yum的資源比較老,要安裝更新的nodejs, 請看末尾

    $ yum install nodejs
    
  2. 為了保證node應(yīng)用不被中止,需要安裝 pm2.

    $ npm install pm2 -g
    
  3. 隨便使用任何node服務(wù)器即可,比如http-server:

    $ npm install http-server -g
    
  4. 根據(jù)pm2的文檔操作

centOS nginx部署

  1. 安裝nginx
  $ yum install nginx -y
  1. 裝好之后,在 /etc/nginx 目錄下,看到有一堆文件, 其中 nginx.conf 這個文件就是默認的nginx 配置文件, 下面有一個目錄叫conf.d的目錄用于存儲我們自己寫的配置。
  2. 如果報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

  1. 進入到 /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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容