CentOS7之常用服务

本文详细介绍了在Linux系统上安装并配置开发所需的各种工具,包括gcc、g++、make、git、svn、Node.js、Python及其相关库、EPEL源、命令行工具如ncdu、htop等。此外,还涵盖了Node.js、Python语言的安装方法,以及如何通过pip进行包管理。同时,文章还提供了文件传输、Nginx服务、MongoDB数据库、MySQL数据库、Scrapyd和PM2等工具的安装与配置教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发者工具

# 安装gcc, g++, make, git, svn
yum clean all
yum groups mark install "Development Tools"
yum groups mark convert "Development Tools"
yum groupinstall "Development Tools"

#选择安装(相关库的头文件)
yum install python-devel libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libxslt-devel libxml2-devel libjpeg-turbo-devel

EPEL源

sudo yum install epel-release

命令行ncdu, htop

#需要EPEL源

sudo yum install ncdu  #磁盘大小查看
sudo yum install htop atop #内存,CPU实用
sudo yum install iotop #磁盘使用IO
sudo yum install iftop #网络

Node.js:

#需要EPEL源

sudo yum install nodejs

Python语言

pip

#安装pip
$ wget https://bootstrap.pypa.io/get-pip.py
$ python ./get-pip.py

pyenv

#安装pyenv
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

>然后你需要把以下内容粘贴到[~/.bash_profile]文件中

# pyenv
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

pyenv-virtualenvwrapper

#安装pyenv-virtualenvwrapper
git clone https://github.com/yyuu/pyenv-virtualenvwrapper.git ~/.pyenv/plugins/pyenv-virtualenvwrapper

#安装virtualenvwrapper
sudo pip install virtualenvwrapper

>然后你需要把以下内容粘贴到~/.bash_profile文件中

#pyenv virtualenvwrapper
pyenv virtualenvwrapper_lazy

文件传输

# 安装vsftpd
yum install vsftpd

#设置开机启动vsftpd ftp服务
chkconfig vsftpd on

# 创建nologin用户
useradd -d /home/ftp -g ftp -s /sbin/nologin ftpuser -p password

修改以下内容/etc/vsftpd/vsftpd.conf

{
    # 禁用匿名登录
    anonymous_enable=NO
    # 设定支持ASCII模式的上传和下载功能
    ascii_upload_enable=YES
    ascii_download_enable=YES
    
    只允许刚创建的ftpuser登录FTP
    userlist_enable=YES
    userlist_deny=NO
}

#修改 /etc/vsftpd/user_list
注释所有帐户,添加ftpuser

#重启服务
service vsftpd restart                        

#登录
ftp dean@IP地址

nginx服务

//下载nginx到/tmp
curl -o /tmp/nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 

//安装rpm, 此rpm包含yum配置信息
rpm -ivh /tmp/nginx.rpm  

//安装nginx
yum install nginx 

//2选1, 启动nginx服务, 此时访问公有IP, 就能看到欢迎页面了
systemctl start nginx
service nginx start 

//配置文件位置/etc/nginx/nginx.conf    

mongoDB数据库

安装

#1.创建/etc/yum.repos.d/mongodb-org-3.0.repo文件内容如下:
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

#2.运行
sudo yum install -y mongodb-org

MySQL

安装

sudo yum update

wget http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
sudo yum update

sudo yum install mysql-server

启动

sudo systemctl start mysqld

临时密码

sudo grep 'temporary password' /var/log/mysqld.log

安全配置

sudo mysql_secure_installation

用户与表权限

 create database testdb;
 create user 'testuser'@'localhost' identified by 'password';
 grant all on testdb.* to 'testuser' identified by 'password';

重置密码

sudo systemctl stop mysqld
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
sudo systemctl start mysqld

mysql -u root

use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
exit

sudo systemctl stop mysqld
sudo systemctl unset-environment MYSQLD_OPTS
sudo systemctl start mysqld

Scrapyd

#安装
sudo pip install pyOpenSSL
sudo pip install lxml
sudo pip install scrapyd

PM2:

这个用起来感觉要简单一些,而且目前有15,672颗星, 相比第一种拥有资源占用查看,看起来要舒服的多

正常启动Express项目,也就是
cd <项目目录>
npm start 或者 node main.js

使用pm2启动
cd <项目目录>
pm2 start npm --name='express' -- start

当然也支持其他语言: 例如python

python命令:
scrapyd --pidfile /var/log/scrapyd/twistd.pid -l /var/log/scrapyd/logs/scrapyd.log

pm2命令:
pm2 start scrapyd --interpreter python --name=scrapyd -- --pidfile "/var/log/scrapyd/twistd.pid" -l "/var/log/scrapyd/logs/scrapyd.log"

### CentOS 7 常用内置服务列表 在 CentOS 7 中,许多内置服务默认随系统一起提供,并可以通过 `systemctl` 命令进行管理和操作。以下是常见的内置服务及其功能描述: #### 1. **NetworkManager** NetworkManager 是用于管理网络连接的服务,支持有线、无线和其他类型的网络接口。 ```bash systemctl status NetworkManager ``` 它允许动态配置网络设置并保持一致的网络状态[^1]。 #### 2. **firewalld** firewalld 提供了一个动态管理防火墙的框架,支持多种区域和规则配置。 ```bash systemctl start firewalld systemctl enable firewalld ``` 这一服务使得实时更新防火墙规则而无需重启成为可能[^1]。 #### 3. **sshd (OpenSSH Server)** sshd 是 OpenSSH 的守护进程,提供了安全的远程登录能力。 ```bash systemctl start sshd systemctl enable sshd ``` 使用该服务可以实现跨网络的安全通信[^1]。 #### 4. **chronyd** chronyd 是 NTP 时间同步服务的一部分,负责维持系统的精确时间。 ```bash systemctl start chronyd systemctl enable chronyd ``` 对于分布式环境下的时间一致性非常重要[^1]。 #### 5. **httpd (Apache HTTP Server)** httpd 是 Apache Web 服务器的核心组件,默认情况下可通过 YUM 安装。 ```bash yum -y install httpd systemctl start httpd systemctl enable httpd ``` 此服务广泛应用于网站托管和服务发布场景[^2]。 #### 6. **named (BIND DNS Server)** named 是 BIND DNS 服务器的主要部分,用于解析域名请求。 ```bash yum -y install bind systemctl start named systemctl enable named ``` 可以为本地网络或其他用户提供域名解析服务。 #### 7. **rsyslog** rsyslog 是日志记录服务,负责收集和存储系统事件的日志信息。 ```bash systemctl start rsyslog systemctl enable rsyslog ``` 日志分析有助于诊断问题和支持审计需求。 #### 8. **crond** crond 是定时任务调度服务,允许用户安排周期性执行的任务。 ```bash systemctl start crond systemctl enable crond ``` 经常被用来自动化备份、报告生成等工作流。 #### 9. **ntpd 或 systemd-timesyncd** ntpd 和 systemd-timesyncd 都是用来同步主机时间和外部时间源的服务。 ```bash systemctl start ntpd systemctl enable ntpd ``` 系统管理员可以选择其中之一来满足特定的时间精度要求[^1]。 #### 10. **mariadb (MySQL Compatible Database Service)** mariadb 是 MySQL 数据库的一个分支,在 CentOS 上作为数据库服务使用。 ```bash yum -y install mariadb-server systemctl start mariadb systemctl enable mariadb ``` 广泛应用于数据驱动的应用程序开发中。 --- ### 示例:列出所有正在运行的服务 如果需要查看当前系统中所有的活动服务,可运行以下命令: ```bash systemctl list-units --type=service --state=running ``` 这将显示所有处于激活状态的服务清单[^1]。 --- ### 示例:启用或禁用某个服务 假设想让某些服务开机自启或者停止自启动,则分别执行如下命令: ```bash # 开机自启某服务 systemctl enable <servicename> # 关闭开机自启某服务 systemctl disable <servicename> ``` 以上方法适用于大多数标准服务管理操作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值