Re從零開始的後端學習之配置Ubuntu+Ngnix+Nodejs+Mysql環境

前言

nodeJs是一條讓前端更好地瞭解後端的捷徑,網上的配置教程又比較分散,因此就從新統一組織了一下。javascript

配置Nginx

  1. 安裝Nginx
sudo apt-get install nginx
複製代碼
  1. 配置Nginx
sudo vim /etc/nginx/sites-available/default
複製代碼

前往nginx的安裝目錄進行配置,不用版本的目錄可能有所不一樣,但大概都在差很少的地方,在sites-available目錄下的default進行配置,咱們會發現有sites-available,sites-enabled兩個很類似的目錄,那爲何要在sites-available目錄下配置呢?那是由於sites-enabled只是一個軟連接目錄,相似於window的快捷方式,那確定是不能去改快捷方式的。php

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;
    }
}
複製代碼
  1. 而後能夠按照命令檢測一下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是沒法運行的css

  1. 網站優化配置
vim /usr/local/nginx/conf/nginx.conf
複製代碼

Gziphtml

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

  1. 安裝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自身更新都沒法進行,這就比較尷尬了。

通過不懈的努力,終於找到了一種普適的方法。前端

  1. 從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
複製代碼
  1. 拷貝安裝
sudo cp -r bin include lib share /usr/local/
複製代碼
  1. 測試安裝狀況
node -v
複製代碼
  1. 更新npm
npm install -g npm
複製代碼
  1. 安裝nodejs版本管理工具n
npm install -g n
複製代碼
  1. 更新nodejs到穩定版本
n stable
複製代碼

OK,一切都準備就緒,還差mysqljava


配置Mysql

  1. 安裝mysql
sudo apt-get install mysql-server mysql-client
複製代碼
  1. 檢測是否安裝成功
sudo netstat -tap | grep mysql
複製代碼
  1. 安裝好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…
  1. 在設置好以後就會碰到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服務了node

從零開始系列傳送門

相關文章
相關標籤/搜索