服務器軟件安裝歷史

服務器運行的系統是Ubuntu16.04.2 x64

node.js

        curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
        sudo apt-get install -y nodejs
        sudo apt-get install -y build-essential

Nginx

    sudo apt-get update
    sudo apt-get install nginx
    sudo ufw allow 'Nginx HTTP' #防火牆允許Nginx HTTP服務
Command Description
sudo systemctl stop nginx stop your web server
systemctl start nginx start web server
systemctl restart nginx restart
systemctl reload nginx make configuration changes, Nginx can often reload without dropping connections
sudo systemctl disable nginx disable auto running when VPS boots
sudo systemctl enable nginx enable auto running when VPS boots

OpenVPN

由於這款軟件的安裝分爲服務器端和客戶端,而且還涉及到文件加密等等細節上的東西,所以單獨寫在一篇博文當中。

GitLab-CE社區版本

它的情況和OpenVPN類似,安裝過程稍顯繁瑣,單獨寫在一篇博文當中,請看這裏

更新Linux內核

    sudo apt-get update
    apt-cache search --names-only linux-image
更新軟件源,在軟件列表當中查找可用的linux-image。2017年7月,它返回的可用的內核有:只列出第一個和最後一個以及我這次安裝的(4.10.0-26)。


> linux-image-4.4.0-21-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
> ...
> linux-image-4.10.0-26-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
> ...
> linux-image-joule - Linux kernel image for Intel Joule

一般安裝image的同時需要安裝它的headers,所以運行下面兩個語句去安裝,一般安裝後bootloader會自動將最新的內核文件進行開機引入,不過爲了確認是否已經是最新的內核,需要看第三條語句。然後重啓。

    sudo apt-get install linux-image-4.10.0-26-generic 
    sudo apt-get install linux-headers-4.10.0-26-generic
    grep menuentry /boot/grub/grub.cfg
    sudo reboot

Go語言安裝

按照官方的原文來的,主要的代碼是:

wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
sudo tar -C /usr/local/ -xzf go1.8.3.linux-amd64.tar.gz 
sudo vim /etc/profile
# add this line into /etc/profile export PATH=$PATH:/usr/local/go/bin
source /etc/profile

ngrok

具體的安裝步驟請看這篇1號博文,以及這篇2號博文其中需要注意的是:

  • go的安裝請參照我上面寫的官方方式。
  • 另外git基本所有VPS都有裝,不用額外裝辣。
  • 1號博文第五節當中的
    export GOPATH=/usr/local/ngrok/
    這部分以及重複出現在客戶端服務器端的這段代碼
    cd /usr/local/go/src
    GOOS=windows GOARCH=amd64 ./make.bash

    並不需要,第五節當中生成服務器端程序默認是linux版本的,所以如果你的服務器跑得是linux發行版系統,就不需要另外給加上GOOS=linux GOARCH=amd64 了,直接make release-server
  • 1號博文第六節運行服務器的時候千萬不要用$NGROK_DOMAIN去代替真正的域名,老老實實把自己綁定的域名打上去。因爲重啓linux系統之後我們之前運行的export命令就失效了。所以如果在重啓之後還./ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"這麼跑的話,$NGROK_DOMAIN返回給這個命令的是空的!所以老老實實把自己的域名打上去。
  • 爲了方便起見,我把生產的ngrokd這個服務器程序放置在環境變量中的目錄下比如/usr/bin/,並且在/etc/rc.local文件當中添加了ngrokd -domain="我的域名" -httpAddr=":端口號1" -tunnelAddr=":端口號2"這行命令,實現VPS開機自啓動,ngrok服務。
  • 最最最重要的一點!在VPS防火牆裏面打開端口號1和端口號2,不然客戶端是連不進來的。具體命令是sudo ufw allow 端口號1sudo ufw allow 端口號2

mongodb

這裏是一篇官網英文說明,解釋的很多,但是實際操作中發現官方的說明在安裝好之後不能啓動mongodb服務,於是在這篇裏面找到了答案。大概是因爲ubuntu系統的默認開機啓動進程的方式已經變爲了systemd這個,而不是原先的init方式。而mongodb官方可能沒有針對systemd做配置,所以需要我們手工配置。關於systemd的一寫資料可以在這個簡介博客官方文檔中看到。
下面只是列出全部所需要的步驟(only for Ubuntu 16.04),不加說明。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo nano /etc/systemd/system/mongodb.service
  "
  [Unit]
  Description=High-performance, schema-free document-oriented database
  After=network.target

  [Service]
  User=mongodb
  ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

  [Install]
  WantedBy=multi-user.target
  "
sudo systemctl start mongodb
sudo systemctl enable mongodb

另外,mongodb的配置文件是/etc/mongod.conf,裏面設置了運行起來之後mongo是默認只接受本地的數據請求,以及部署在27017端口上。

LAMP(Linux, Apache, MySQL, PHP)

具體的安裝方法在這篇英文博文和它的中文翻譯。這個英文版中在數據庫上提供了MariaDB和MySQL兩種,所以按需所取。另外注意的是,ubuntu下用

sudo apt-get -y install phpmyadmin

安裝phpmyadmin後,默認的安裝目錄在/usr/share/phpmyadmin。所以apache服務器是不能直接找到它的。因此需要在/var/www/html/這個apache網站目錄下創建一個linux軟連接指向/usr/share/phpmyadmin。代碼如下:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

之後瀏覽器裏輸入localhost/phpmyadmin就會挑出我們熟悉的控制界面了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章