服务器运维及部署

13次阅读
$ passwd 

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

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

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

工具 :

以上安装均需切入 root 状态

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 无法连接问题排除文档 :

下载 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

$ 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 文档

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

$ yum remove mysql 

错误信息提示解决方式 :

RPM 安装后 /etc/ 中并无 mysql.cnf 配置文件

需要从 /usr/mysql 中找到 cnf 文件 , 将其复制过去 , 并修改文件名为 mysql.cnf

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> 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 端口是否开启。

使用 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 模式 

使用 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 

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

原文链接:https://blog.csdn.net/ch5057997/article/details/78710949

正文完
 
追风者
版权声明:本站原创文章,由 追风者 2024-01-02发表,共计4775字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布。