服务器软件安装历史

来源:互联网 发布:淘宝店铺如何注销 编辑:程序博客网 时间:2024/05/17 04:57

      • nodejs
      • Nginx
      • OpenVPN
      • GitLab-CE社区版本
      • 更新Linux内核
      • Go语言安装
      • ngrok
      • mongodb
      • LAMPLinux Apache MySQL PHP

服务器运行的系统是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.gzsudo 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/binsource /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 EA312927echo "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.listsudo apt-get updatesudo apt-get install -y mongodb-orgsudo 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 mongodbsudo 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就会挑出我们熟悉的控制界面了!