服务器运维及部署

2024-03-03 23:08
文章标签 部署 服务器 运维及

本文主要是介绍服务器运维及部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新建账户及密码

给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
  1. 安装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
  1. 安装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
  1. 安装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 的源码路径。
  1. 启动
    确保系统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的安装版本
输入 nmp-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安装MySQL。

$ 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
  1. 安装
$ 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
...

错误信息提示解决方式:
第一步安装提示缺少依赖
提示有冲突

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    
```
  1. 启动后无法连接,开启21端口防火墙
  2. 无法读取目录,修改配置文件,添加以下:
```
$ pasv_enable=NO
```
  1. 450:读取目录列表失败
可能PASV问题,在vsftpd.conf加上了一句pasv_enable=NO
  1. 500 OOPS:cannot change directory:/home/pmfile
新建用户后登录报错,刚开始以为是selinux的问题,后来一想不对,其他的帐号都没事,肯定刚才己关闭了selinux,那么就是权限问题了,果然是刚才忘了把权限给虚拟ftp宿主权限了:chown -R ftpuser.ftpuser /home/publicfile
  1. 530错误:Login incorrect.
可能为密码错误
  1. 外网无法登录,550错误,错误: 读取目录列表失败
这个问题很是挠头,在做完第二台服务器后让客户先从内网登录,一切都很正常,而从外网登录时就会出现550错误,内网映射没有开放TCP20端口,开放后就OK了
  1. 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
代码拉取

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

若是共有仓库直接执行:

$ 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
* devmaster
切换分支
$ git checkout master
日志记录
$ git log
部分工具需要设置开机自启动

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

$ chkconfig --list     //查看自启动列表
$ chkconfig mysql on   //开启某个应用的自启动
服务类:
$ systemctl enable vsftpd.service

这篇关于服务器运维及部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771219

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee