服务运维及部署
建立新的账号及密码
给root账户修改密码
$ passwd[/code]
注意:完成後不要登出系統,使用另一個視窗用新密碼嘗試登入,即使失敗也可以在原來的視窗重複以上步驟。
新建一个账号
- $ adduser bigertech
- $ passwd bigertech //修改该用户密码
工具安装与配置
接下来我们需要给这台服务器安装必备的工具,包括以下几项,本文将给出工具的安装方法及常见问题的解决。
- nginx
- node
- pm2
- mysql
- vsftpd
- firewall
工具:
- git
- brew
- 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
- $ 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
- $ 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
- $ 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
- --with-pcre=/usr/local/pcre-8.35 指的是pcre-8.35 的源码路径。
- --with-zlib=/usr/local/zlib-1.2.8 指的是zlib-1.2.8 的源码路径。
确保系统的 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
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 //杀死进程
mysql
安装
因部分centos中yum的安装不够全面,本文将使用rpm安装,安装前需查看是否使用其他方法安装过,如果有提示卸载,表示已经使用yum安装myslq。
$ yum remove mysql
- 下载安装包[ol]mysql-sever
- mysql-client
- mysql-devel
- $ rpm -ivh MySQL-server-5.6.22-1.rhel5.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
- ...
- 第一步安装提示缺少依赖
- 提示有冲突
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若无法修改,用安全模式登录,手动修改:
停止mysql
service mysql stop
安全模式
/usr/bin/mysqld_safe --skip-grant-tables & //前面的目录根据安装目录有所不同
修改密码
[ol]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
Vsftpd
安装
使用yum命令直接安装
$ yum install vsftpd要使外部可使用ftp登录到该机器需要修改部分配置,配置文件内容详见:
以下列出常用内容:
使远程可通过root用户登录:
将 /etc/vsftpd/中的 userlist以及 ftpusers 中的root去掉
可能遇到的问题:
1. 无法启动,重定向,直接用以下命令启动:
- ```
- $ systemctl start vsftpd
- ```
3. 无法读取目录,修改配置文件,添加以下:
- ```
- $ pasv_enable=NO
- ```
可能PASV问题,在vsftpd.conf加上了一句pasv_enable=NO5. 500 OOPS:cannot change directory:/home/pmfile
新建用户后登录报错,刚开始以为是selinux的问题,后来一想不对,其他的帐号都没事,肯定刚才己关闭了selinux,那么就是权限问题了,果然是刚才忘了把权限给虚拟ftp宿主权限了:chown -R ftpuser.ftpuser /home/publicfile6. 530错误:Login incorrect.
可能为密码错误7. 外网无法登录,550错误,错误: 读取目录列表失败
这个问题很是挠头,在做完第二台服务器后让客户先从内网登录,一切都很正常,而从外网登录时就会出现550错误,内网映射没有开放TCP20端口,开放后就OK了8. 553 错误 无法创建文件
- 临时关闭 selinux
- setenforce 0 设置SELinux 成为permissive模式
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
$ 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
作者:chrisxlq
链接:http://www.jianshu.com/p/508d895a6f48
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 [/code]
- 运维新手 公司中的第一次 搭建tomcat和部署jdk服务
- 自动化运维之Ansible服务部署
- 自动化运维工具Puppet服务安装和部署详解
- 部署DHCP服务---运维笔记(补充版)
- 运维之红帽工程师篇-----3. HTTP服务基础 、 网页内容访问 、 安全Web服务 、 部署动态网站
- 部署DHCP服务--运维笔记
- 部署DNS 服务---运维笔记(原型)
- 自动化运维之详细部署安装Ansible服务(超简单)
- 重头搭建自己的微服务框架以及k8s+docker运维,实现自动化部署
- 部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务
- 运维自动化部署Cobbler之服务安装篇 推荐
- Linux SSH服务 运维
- 【Dubbo】微服务架构(三): 部署
- spring boot/cloud 多服务部署单机启动顺序有依赖的解决办法
- iSCSI服务部署文档
- 微服务实战(六):选择微服务部署策略
- WDS部署服务之六V2P实战
- linux学习-centos7上部署DNS服务
- 运维学习之nfs系统文件服务
- 使用tomcat部署solr服务