服务器运维及部署

建立新的账号及密码


给root账户修改密码

$ passwd

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

新建一个账号

$ adduser bigertech
$ passwd bigertech   //修改该用户密码

工具安装与配置


接下来我们需要给这台服务器安装必备的工具,包括以下几项,本文将给出工具的安装方法及常见问题的解决。

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

工具:

  1. git
  2. brew
  3. grunt

以上安装均需切入root状态

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.启动

确保系统的 80 端口没被其他程序占用,

$ /usr/local/nginx/sbin/nginx

检查是否启动成功:

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

部分命令如下:

重启:
/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      //删除所有/某个进程
$ pm2 stop all/id        //停止
$ pm2 reload all/id      //重启
$ pm2 start app.js -i 3 --name bigertech   //cluster模式启动,后面的数字表示开启几个进程,--name 后接重命名该进程
$ pm2 logs               //查看log日志
$ pm2 kill               //杀死进程

具体参考pm2文档

mysql

安装

因部分centos中yum的安装不够全面,本文将使用rpm安装,安装前需查看是否使用其他方法安装过,如果有提示卸载,表示已经使用yum安装myslq。

$ yum remove mysql
  1. 下载安装包

    mysql-sever
    mysql-client
    mysql-devel
    

    文件名字需根据最新版本,以及服务器安装的系统版本变更,具体可查看网站: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
    

    安装正确应显示:

    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文件,将其复制过去,并修改文件名为mysql.cnf


启动sql

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

启动成功后将mysql添加到自启动chkconfig mysql on

若提示重定向,请尝试:

启动
systemctl start mariadb.service
自启动
systemctl enable mariadb.service

启动后可登陆数据库:

mysql -u root -p    //-p 表示使用密码登陆

初次安装将产生随机密码,可在/root/.mysql_secret文件中查看

mysqladmin -u root password ‘123456’ -p

若无法修改,用安全模式登录,手动修改:

  1. 停止mysql

    service mysql stop

  2. 安全模式

    /usr/bin/mysqld_safe --skip-grant-tables & //前面的目录根据安装目录有所不同

  3. 修改密码

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

    退出安全模式进入尝试重新登陆


设置可远程访问

mysql> use mysql;   (此DB存放MySQL的各种配置信息)
Database changed
mysql> select host,user from user; (查看用户的权限情况)
+----------------+--------+
| host           | user   |
+----------------+--------+
| localhost      |        |
| localhost      | root   |
| localhost      |        |
| localhost      | mysql  |
+----------------+--------+
6 rows in set (0.02 sec)

由此可以看出,只能以localhost的主机方式访问、以下设置可远程访问。

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

(表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,里面的password需要自己修改成root的密码.)

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

mysql> select host,user from user; (再次查看用户的权限情况)
+----------------+--------+
| host           | user   |
+----------------+--------+
| %              | mysql  |
| %              | root   |
| localhost      |        |
| localhost      | root   |
| localhost      |        |
| localhost      | mysql  |
+----------------+--------+

mysql>exit

至此完成远程访问设置,如还是无法访问,查看3306端口是否开启。

Vsftpd

安装

使用yum命令直接安装

$ yum install vsftpd

要使外部可使用ftp登录到该机器需要修改部分配置,配置文件内容详见:

以下列出常用内容:

使远程可通过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的问题,后来一想不对,其他的帐号都没事,肯定刚才己关闭了selinux,那么就是权限问题了,果然是刚才忘了把权限给虚拟ftp宿主权限了:chown -R ftpuser.ftpuser /home/publicfile

6. 530错误:Login incorrect.

可能为密码错误

7. 外网无法登录,550错误,错误: 读取目录列表失败

这个问题很是挠头,在做完第二台服务器后让客户先从内网登录,一切都很正常,而从外网登录时就会出现550错误,内网映射没有开放TCP20端口,开放后就OK了

8. 553 错误 无法创建文件

临时关闭 selinux

setenforce 0 设置SELinux 成为permissive模式

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

Firewall

安装

使用yum命令直接安装

$ yum install firewall

常用命令

开启/重启/关闭
$ 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

暫時開放某个服務,以ftp为例
$ firewall-cmd --add-service=ftp

永久開放某个服務
$ firewall-cmd --add-service=ftp --permanent

永久關閉
$ firewall-cmd --remove-service=ftp --permanent
success

檢查防火牆狀態
$ 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    #进入目录
$ autoconf
$ ./configure
$ make
$ sudo make install

检查下安装的版本,大功告成

$ git --version

代码拉取

初次对该服务器进行某个账号的代码拉取需要进行设置

若是共有仓库直接执行:

$ git clone  xxx

若是私有仓库则做以下操作:
建立用户名和邮箱:

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

看看有没有ssh的秘钥文件夹

$ ls -al ~/.ssh

没有的话则为这个邮箱创建一个秘钥(过程可能需输入密码):

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

成功后执行以下代码(过程可能需输入密码):

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

查看公钥信息:

$ cat ~/.ssh/id_rsa.pub

将获得的公钥信息添加到coding.net中--使用者授权

接下来可以进行代码的克隆及拉取

常用命令

查看分支
$ git branch
* dev
  master

切换分支
$ git checkout master

日志记录
$ git log

部分工具需要设置开机自启动


至少需要开启mysql、firewall、vsftpd、crond、redis的自启动

$ chkconfig --list     //查看自启动列表
$ chkconfig mysql on   //开启某个应用的自启动
服务类:
$ systemctl enable vsftpd.service
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容