前言
nodeJs是一條讓前端更好地瞭解後端的捷徑,網上的配置教程又比較分散,所以就重新統一組織了一下。
配置Nginx
- 安裝Nginx
sudo apt-get install nginx
複製程式碼
- 配置Nginx
sudo vim /etc/nginx/sites-available/default
複製程式碼
前往nginx的安裝目錄進行配置,不用版本的目錄可能有所不同,但大概都在差不多的地方,在sites-available目錄下的default進行配置,我們會發現有sites-available,sites-enabled兩個很相似的目錄,那為什麼要在sites-available目錄下配置呢?那是因為sites-enabled只是一個軟連結目錄,類似於window的快捷方式,那肯定是不能去改快捷方式的。
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
# 如果要支援HTTPS,修改這裡
# 可以使用 https://letsencrypt.org 的免費SSL證照
#listen 443 ssl;
#ssl_certificate www.example.com.crt;
#ssl_certificate_key www.example.com.key;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers HIGH:!aNULL:!MD5;
# 重定向所有HTTP到HTTPS
# rewrite ^(.*)$ https://$host$1 permanent;
# 網站根目錄,根據需要修改
root /usr/share/nginx/html;
# 增加index.php
index index.php index.html index.htm;
# 假設域名是 www.brandf.cn
server_name www.brandf.cn; #繫結域名
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
複製程式碼
- 然後可以按照命令檢測一下Nginx是否啟動正常
// 檢視apache狀態
sudo service apache2 status
// 關閉apache
sudo service apache2 stop
// 檢視apache狀態
sudo service apache2 status
// 啟動nginx
sudo service nginx start
// 檢視nginx狀態
sudo service nginx status
複製程式碼
Ps:如果apache2在執行,ngnix是無法執行的
- 網站優化配置
vim /usr/local/nginx/conf/nginx.conf
複製程式碼
Gzip
gzip on; //啟用gzip壓縮
gzip_min_length 1k; //小於1k的檔案不壓縮
gzip_buffers 4 16k;
#gzip_http_version 1.0; //這個註釋掉
gzip_comp_level 5; //壓縮等級分為1-10級,等級越高壓縮的檔案越小,時間也越長
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off; //跟快取服務有關
gzip_disable "MSIE [1-6]\."; //禁用gzip服務的瀏覽器版本
複製程式碼
配置nodeJs
- 安裝NodeJs
- 網上大多都是以apt-get這種方式去下載安裝的
- 吐槽一下apt-get,這裡的資源不知是多少年前的了,之前我安裝的npm居然是1.1版本,nodejs是0.1版本。這裡發現了一個有趣的插曲0.1版本使用的命令是nodejs,不是node,nodejs的一次社群分裂可能是問題的主要原因,有興趣可以瞭解一下。
- www.infoq.com/cn/articles…
- 這直接導致nodejs版本太低導致npm無法安裝包,就連
npm install -g npm
自身更新都無法進行,這就比較尷尬了。
經過不懈的努力,終於找到了一種普適的方法。
- 從node官網下載已編譯好了的node
wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.xz
tar -xvf node-v4.6.0-linux-x64.tar.xz
cd node-v4.6.0-linux-x64.tar.xz
複製程式碼
- 拷貝安裝
sudo cp -r bin include lib share /usr/local/
複製程式碼
- 測試安裝情況
node -v
複製程式碼
- 更新npm
npm install -g npm
複製程式碼
- 安裝nodejs版本管理工具n
npm install -g n
複製程式碼
- 更新nodejs到穩定版本
n stable
複製程式碼
OK,一切都準備就緒,還差mysql
配置Mysql
- 安裝mysql
sudo apt-get install mysql-server mysql-client
複製程式碼
- 檢測是否安裝成功
sudo netstat -tap | grep mysql
複製程式碼
- 安裝好mysql後,用navicat進行遠端連線,不出意外,首先會碰到2003錯誤,這是因為mysql對地址進行了繫結,只允許本地操作,不急,這很好解決。
- 找到
vim /etc/mysql/mysql.conf.d/mysqld.cnf
類似這樣的配置檔案,不同版本位置會有小小不同 - 加#號註釋
bind-address = 127.0.0.1
- 重啟服務
/etc/init.d/sudo mysql restart
- www.cnblogs.com/patrickding…
- 在設定好之後就會碰到1045錯誤,不要問我為什麼知道,那是mysql沒有分配給你許可權
- 進入目錄
cd /etc/init.d
複製程式碼
- 進入mysql
mysql -h localhost -u root -p
// 輸入安裝時設定好的密碼
複製程式碼
- 進入mysql表
mysql>use mysql;
複製程式碼
- 檢視許可權表
mysql>select host, user from user;
複製程式碼
- 賦予地址為192.168.1.x的主機x許可權,可進入x資料庫,賬號youruser,密碼yourpassword
mysql>GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'192.168.1.*' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
複製程式碼
- 重新整理一下,讓配置生效
mysql>FLUSH PRIVILEGES;
複製程式碼
- 需要取消許可權時
mysql>Delete from user where user = "user_name" and host = "host_name" ;
複製程式碼
- 讓配置生效
mysql>FLUSH PRIVILEGES;
複製程式碼
All done
至此已配置好伺服器node開發環境,可以開心地部署node服務了
從零開始系列傳送門
- 《Re從零開始的UI庫編寫生活之規範制定》
- 《Re從零開始的UI庫編寫生活之按鈕》
- 《Re從零開始的UI庫編寫生活之表單》
- 《Re從零開始的UI庫編寫生活之表格》
- 《Re從零開始的UI庫編寫生活之載入進度條》
- 《Re從零開始的UI庫編寫生活之分頁》
- 《Re從零開始的UI庫編寫生活之選單導航欄》
- 《Re從零開始的UI庫編寫生活之訊息彈窗》
- 《Re從零開始的UI庫編寫生活之步驟管理器》
- 《Re從零開始的UI庫編寫生活之麵包屑》
- 《Re從零開始的webpack4實用向全實踐》
- 《Re從零開始的高效React+Redux專案架構搭建》
- Re從零開始的後端學習之配置Ubuntu+Ngnix+Nodejs+Mysql環境