我的服務器經常使用基礎配置

買了一個服務器,系統是CentOS7.2 .作了一番基礎設置,在此記錄一下。html

更新 yum 源倉庫

yum update

安裝 Git

yum 源倉庫裏最新版本的 Git 是 1.8.3.1,可是官方最新版本已經到了 2.9.2。想要安裝最新版本的的 Git,只有下載源碼進行安裝。node

能夠經過info命令查看源倉庫中git的信息python

$ yum info git

在開始編譯安裝git以前,須要安裝一些依賴mysql

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ yum install gcc perl-ExtUtils-MakeMaker

下載源碼壓縮包,解壓以後編譯和安裝nginx

$ wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz -O git.tar.gz
$ tar -zxf git.tar.gz
$ cd git.tar.gz
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
能夠在 這裏找到全部的版本。

安裝 fish-shell

CentOS 6和CentOS 7使用的源不一樣,須要注意一下:c++

// CentOS 7
$ cd /etc/yum.repos.d/
$ wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
$ yum install fish

// CentOS 6
$ cd /etc/yum.repos.d/
$ wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo
$ yum install fish

安裝oh-my-fishgit

curl -L https://get.oh-my.fish | fish

安裝oh-my-fish的主題clearancegithub

$ omf install clearance

安裝Node.js

安裝Node.js方式有多種:sql

  1. 更新yum源,使用yum安裝
  2. 下載源代碼編譯安裝
  3. 使用nvm安裝

我選擇使用nvm安裝和管理服務器上的Node。shell

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

nvm在fish-shell下沒法使用,須要作一些其餘的工做。能夠經過bass讓 fish-shell 可使用 bash 環境下的工具。

// 先安裝fisherman
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

// 安裝 bass
fisher edc/bass

編輯fish的配置文件~/.config/fish/config.fish(若是文件不存在就建立一個),增長一段 bass 命令的封裝代碼

function nvm
  bass source ~/.nvm/nvm.sh ';' nvm $argv
end

如今就能夠在fish-shell中使用nvm了。

// 安裝 nodev8.10.0
nvm install 8.10.0

// 設置 npm 的 Taobao 源
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

安裝 Python3

CentOS 7系統自帶 Python2.7.5。我須要在安裝最新的Python v3.x版本。
在安裝以前,有幾個依賴工具須要提早裝好。

$ yum install gcc zlib-devel

以前安裝git時已經安裝過。因此接下來時下載源碼、編譯安裝。

$ wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz -O python3.6.tar.xz
$ tar xJf python3.6.tar.xz
$ cd python3.6.tar.xz
$ ./configure

// 由於我使用的是 fish-shell。其實就是 bash 中的 `make && make install`
$ make; and  make install

// 檢查安裝結果。輸出 `/usr/local/bin/python3`
$ which python3

安裝 MySQL

MySQL 被 Oracle 收購後,有將MySQL閉源的潛在風險,所以社區採用分支的方式來避開這個風險。

MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。

更多詳情可訪問Wiki-MariaDB

MySQL 被 Oracle 收購後,CentOS 的鏡像倉庫中提供的默認的數據庫也變爲了 MariaDB。因此從官網安裝。

$ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
$ rpm -ivh mysql-community-release-el7-5.noarch.rpm
$ yum install mysql-community-server

// 安裝成功後重啓mysql服務。
$ service mysql restart

設置編碼

在 /etc/my.cnf 中設置默認的編碼

[client]
default-character-set = utf8

[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci #不區分大小寫
collation-server =  utf8_bin #區分大小寫
collation-server = utf8_unicode_ci #比 utf8_general_ci 更準確

安裝 Nginx

yum 在線安裝會將 nginx 的安裝文件放在系統的不一樣位置,能夠經過命令 rpm -ql nginx 來查看安裝路徑

> $ rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/ssl.conf
/etc/nginx/conf.d/virtual.conf
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/etc/rc.d/init.d/nginx
/etc/sysconfig/nginx
/usr/lib/perl5/vendor_perl/auto/nginx
/usr/lib/perl5/vendor_perl/auto/nginx/nginx.so
/usr/lib/perl5/vendor_perl/nginx.pm
/usr/sbin/nginx
/usr/share/doc/nginx-1.0.15
/usr/share/doc/nginx-1.0.15/CHANGES
/usr/share/doc/nginx-1.0.15/LICENSE
/usr/share/doc/nginx-1.0.15/README
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx

源碼包 安裝他的全部文件(包括配置文件,庫文件,資源文件等)都在同一個目錄下,咱們想卸載的時候,直接將這個文件刪除就能夠,不會有任何垃圾文件存在。

我採用源碼編譯的方式安裝

$ yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
$ wget http://nginx.org/download/nginx-1.12.2.tar.gz
$ tar -zxvf nginx-1.12.2.tar.gz

// 默認安裝到 /usr/local/nginx,能夠經過--prefix指定安裝目錄。我這邊顯式聲明一次。
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
$ make; and make install

nginx 幾個經常使用的命令

/usr/local/nginx/sbin/nginx # 啓動
/usr/local/nginx/sbin/nginx -s stop # 中止
相關文章
相關標籤/搜索