服務(wù)器運維及部署

建立新的賬號及密碼


給root賬戶修改密碼

$ passwd

注意:完成後不要登出系統(tǒng),使用另一個視窗用新密碼嘗試登入,即使失敗也可以在原來的視窗重複以上步驟。

新建一個賬號

$ adduser bigertech
$ passwd bigertech   //修改該用戶密碼

工具安裝與配置


接下來我們需要給這臺服務(wù)器安裝必備的工具,包括以下幾項,本文將給出工具的安裝方法及常見問題的解決。

  1. nginx
  2. node
  3. pm2
  4. mysql
  5. vsftpd
  6. firewall

工具:

  1. git
  2. brew
  3. grunt

以上安裝均需切入root狀態(tài)

nginx

nginx需要安裝必須的庫

1.安裝PCRE庫

$ cd /usr/local/
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
$ tar -zxvf pcre-8.35.tar.gz
$ cd pcre-8.35
$ ./configure
$ make
$ make install

2.安裝zlib庫

$ cd /usr/local/ 
$ wget http://zlib.net/zlib-1.2.8.tar.gz
$ tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure
$ make
$ make install

3.安裝ssl

$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ ./config
$ sudo make
$ sudo make install

4.安裝nginx

$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.6.2.tar.gz
$ tar -zxvf nginx-1.2.8.tar.gz
$ cd nginx-1.2.8  
$ ./configure --prefix=/usr/local/nginx 
$ sudo make
$ sudo make install

在--prefix后面接以下命令:

--with-pcre=/usr/local/pcre-8.35 指的是pcre-8.35 的源碼路徑。
--with-zlib=/usr/local/zlib-1.2.8 指的是zlib-1.2.8 的源碼路徑。

5.啟動

確保系統(tǒng)的 80 端口沒被其他程序占用,

$ /usr/local/nginx/sbin/nginx

檢查是否啟動成功:

打開瀏覽器訪問此機(jī)器的 IP,如果瀏覽器出現(xiàn) Welcome to nginx! 則表示 Nginx 已經(jīng)安裝并運行成功。

部分命令如下:

重啟:
/usr/local/nginx/sbin/nginx –s reload
測試配置文件是否正常:
/usr/local/nginx/sbin/nginx –t 
配置文件位置:
/usr/local/nginx/conf

注意端口是否開啟或是否被占用,nginx 無法連接問題排除文檔:

http://h2ofly.blog.51cto.com/6834926/1324588

node

下載node:

$ wget http://nodejs.org/dist/v0.12.1/node-v0.12.1.tar.gz
$ tar -zxvf 文件名
$ cd node-v0.12.1 
$ ./configure  
$ sudo make  
$ sudo make install   

如果沒報錯:

輸入 node -v 查看node的安裝版本

輸入 npm -v 查看npm的版本

n是node里面專門管理node版本的模塊
$ npm install -g n
$ n stable

pm2

安裝

$ npm install pm2@latest -g

常用命令:

$ pm2 start app.js       //fork模式啟動
$ pm2 delete all/id      //刪除所有/某個進(jìn)程
$ pm2 stop all/id        //停止
$ pm2 reload all/id      //重啟
$ pm2 start app.js -i 3 --name bigertech   //cluster模式啟動,后面的數(shù)字表示開啟幾個進(jìn)程,--name 后接重命名該進(jìn)程
$ pm2 logs               //查看log日志
$ pm2 kill               //殺死進(jìn)程

具體參考pm2文檔

mysql

安裝

因部分centos中yum的安裝不夠全面,本文將使用rpm安裝,安裝前需查看是否使用其他方法安裝過,如果有提示卸載,表示已經(jīng)使用yum安裝myslq。

$ yum remove mysql
  1. 下載安裝包

    mysql-sever
    mysql-client
    mysql-devel
    

    文件名字需根據(jù)最新版本,以及服務(wù)器安裝的系統(tǒng)版本變更,具體可查看網(wǎng)站:http://dev.mysql.com/downloads/mysql/#downloads

    $ wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.22-1.el7.x86_64.rpm
    $ wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.24-1.el7.x86_64.rpm
    $ wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.24-1.el7.x86_64.rpm
    
  2. 安裝

    $ rpm -ivh MySQL-server-5.6.22-1.rhel5.x86_64.rpm
    $ rpm -ivh MySQL-client-5.6.22-1.el7.x86_64.rpm
    $ rpm -ivh MySQL-devel-5.6.22-1.el7.x86_64.rpm
    

    安裝正確應(yīng)顯示:

    MySQL-server-5.6.22-1.el7        ################################# [100%]
    2015-01-19 11:23:24 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2015-01-19 11:23:24 17830 [Note] InnoDB: Using atomics to ref count buffer pool pages
    ...
    

錯誤信息提示解決方式:

  1. 第一步安裝提示缺少依賴
  2. 提示有沖突

RPM安裝后 /etc/中并無mysql.cnf配置文件

需要從/usr/mysql 中找到cnf文件,將其復(fù)制過去,并修改文件名為mysql.cnf


啟動sql

service mysql start
或
/etc/init.d/mysql start

啟動成功后將mysql添加到自啟動chkconfig mysql on

若提示重定向,請嘗試:

啟動
systemctl start mariadb.service
自啟動
systemctl enable mariadb.service

啟動后可登陸數(shù)據(jù)庫:

mysql -u root -p    //-p 表示使用密碼登陸

初次安裝將產(chǎn)生隨機(jī)密碼,可在/root/.mysql_secret文件中查看

mysqladmin -u root password ‘123456’ -p

若無法修改,用安全模式登錄,手動修改:

  1. 停止mysql

    service mysql stop

  2. 安全模式

    /usr/bin/mysqld_safe --skip-grant-tables & //前面的目錄根據(jù)安裝目錄有所不同

  3. 修改密碼

    mysql> update mysql.user set Password=password('lifekit') where User="root" ;
    mysql> flush privileges;
    

    退出安全模式進(jìn)入嘗試重新登陸


設(shè)置可遠(yuǎn)程訪問

mysql> use mysql;   (此DB存放MySQL的各種配置信息)
Database changed
mysql> select host,user from user; (查看用戶的權(quán)限情況)
+----------------+--------+
| host           | user   |
+----------------+--------+
| localhost      |        |
| localhost      | root   |
| localhost      |        |
| localhost      | mysql  |
+----------------+--------+
6 rows in set (0.02 sec)

由此可以看出,只能以localhost的主機(jī)方式訪問、以下設(shè)置可遠(yuǎn)程訪問。

mysql> Grant all privileges on *.* to 'root'@'%' identified by 'lifekit'with grant option;  

(表示是所有的外部機(jī)器,如果指定某一臺機(jī),就將%改為相應(yīng)的機(jī)器名;‘root’則是指要使用的用戶名,里面的password需要自己修改成root的密碼.)

mysql> flush privileges;  //運行為句才生效,或者重啟MySQL
Query OK, 0 rows affected (0.03 sec)

mysql> select host,user from user; (再次查看用戶的權(quán)限情況)
+----------------+--------+
| host           | user   |
+----------------+--------+
| %              | mysql  |
| %              | root   |
| localhost      |        |
| localhost      | root   |
| localhost      |        |
| localhost      | mysql  |
+----------------+--------+

mysql>exit

至此完成遠(yuǎn)程訪問設(shè)置,如還是無法訪問,查看3306端口是否開啟。

Vsftpd

安裝

使用yum命令直接安裝

$ yum install vsftpd

要使外部可使用ftp登錄到該機(jī)器需要修改部分配置,配置文件內(nèi)容詳見:

以下列出常用內(nèi)容:

使遠(yuǎn)程可通過root用戶登錄:

將 /etc/vsftpd/中的 userlist以及 ftpusers 中的root去掉

可能遇到的問題:

1. 無法啟動,重定向,直接用以下命令啟動:

```
$ systemctl start vsftpd    
```

2. 啟動后無法連接,開啟21端口防火墻

3. 無法讀取目錄,修改配置文件,添加以下:

```
$ pasv_enable=NO
```

**4. 450:讀取目錄列表失敗 **

可能PASV問題,在vsftpd.conf加上了一句pasv_enable=NO

5. 500 OOPS:cannot change directory:/home/pmfile

新建用戶后登錄報錯,剛開始以為是selinux的問題,后來一想不對,其他的帳號都沒事,肯定剛才己關(guān)閉了selinux,那么就是權(quán)限問題了,果然是剛才忘了把權(quán)限給虛擬ftp宿主權(quán)限了:chown -R ftpuser.ftpuser /home/publicfile

6. 530錯誤:Login incorrect.

可能為密碼錯誤

7. 外網(wǎng)無法登錄,550錯誤,錯誤: 讀取目錄列表失敗

這個問題很是撓頭,在做完第二臺服務(wù)器后讓客戶先從內(nèi)網(wǎng)登錄,一切都很正常,而從外網(wǎng)登錄時就會出現(xiàn)550錯誤,內(nèi)網(wǎng)映射沒有開放TCP20端口,開放后就OK了

8. 553 錯誤 無法創(chuàng)建文件

臨時關(guān)閉 selinux

setenforce 0 設(shè)置SELinux 成為permissive模式

配置詳解:http://my.oschina.net/accesssoul/blog/61396

Firewall

安裝

使用yum命令直接安裝

$ yum install firewall

常用命令

開啟/重啟/關(guān)閉
$ systemctl start/restart/stop firewalld


永久添加端口
$ firewall-cmd --zone=public --add-port=10837/tcp --permanent

查看一個端口是否永久啟動
$ firewall-cmd --zone=public --query-port=10837/tcp --permanent

查看list
$ firewall-cmd --list-all

暫時開放某個服務(wù),以ftp為例
$ firewall-cmd --add-service=ftp

永久開放某個服務(wù)
$ firewall-cmd --add-service=ftp --permanent

永久關(guān)閉
$ firewall-cmd --remove-service=ftp --permanent
success

檢查防火牆狀態(tài)
$ firewall-cmd --state
running

Git

安裝

Centos上一般都已安裝git,若沒有則需手動下載包安裝

下載最新的git包

$ wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
$ tar xzvf git-latest.tar.gz
$ cd git-2011-11-30    #進(jìn)入目錄
$ autoconf
$ ./configure
$ make
$ sudo make install

檢查下安裝的版本,大功告成

$ git --version

代碼拉取

初次對該服務(wù)器進(jìn)行某個賬號的代碼拉取需要進(jìn)行設(shè)置

若是共有倉庫直接執(zhí)行:

$ git clone  xxx

若是私有倉庫則做以下操作:
建立用戶名和郵箱:

$ git config --global user.name bgdev
$ git config --global user.email bgdev@qq.com

看看有沒有ssh的秘鑰文件夾

$ ls -al ~/.ssh

沒有的話則為這個郵箱創(chuàng)建一個秘鑰(過程可能需輸入密碼):

$ ssh-keygen -t rsa -C "bgdev@qq.com"

成功后執(zhí)行以下代碼(過程可能需輸入密碼):

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

查看公鑰信息:

$ cat ~/.ssh/id_rsa.pub

將獲得的公鑰信息添加到coding.net中--使用者授權(quán)

接下來可以進(jìn)行代碼的克隆及拉取

常用命令

查看分支
$ git branch
* dev
  master

切換分支
$ git checkout master

日志記錄
$ git log

部分工具需要設(shè)置開機(jī)自啟動


至少需要開啟mysql、firewall、vsftpd、crond、redis的自啟動

$ chkconfig --list     //查看自啟動列表
$ chkconfig mysql on   //開啟某個應(yīng)用的自啟動
服務(wù)類:
$ systemctl enable vsftpd.service
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容