建立新的賬號及密碼
給root賬戶修改密碼
$ passwd
注意:完成後不要登出系統(tǒng),使用另一個視窗用新密碼嘗試登入,即使失敗也可以在原來的視窗重複以上步驟。
新建一個賬號
$ adduser bigertech
$ passwd bigertech //修改該用戶密碼
工具安裝與配置
接下來我們需要給這臺服務(wù)器安裝必備的工具,包括以下幾項,本文將給出工具的安裝方法及常見問題的解決。
- nginx
- node
- pm2
- mysql
- vsftpd
- firewall
工具:
- git
- brew
- 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
-
下載安裝包
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 -
安裝
$ 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 ...
錯誤信息提示解決方式:
- 第一步安裝提示缺少依賴
- 提示有沖突
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
若無法修改,用安全模式登錄,手動修改:
-
停止mysql
service mysql stop -
安全模式
/usr/bin/mysqld_safe --skip-grant-tables & //前面的目錄根據(jù)安裝目錄有所不同 -
修改密碼
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