CentOS7之常用服务

开发者工具

# 安装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"


1 篇内容引用
320 声望
16 粉丝
0 条评论
推荐阅读
SE内功修炼之算法篇
今天整理下博客,没想到自己2017年5月份的时候就开始挑战Leetcode了,虽然挑战的难度都为简单级别,但还是在6月14日,以失败告终,战绩44道题PASS,9道题失败。

天才小飞猫阅读 1.3k

MongoDB 插入时间与更新时间(create_time/update_time)
MongoDB 在数据库层面不能像 MySQL 一样设置自动创建 create_time/update_time,自动更新 update_time

qbit阅读 14k评论 2

Nginx 配置常用参数,看这一篇就够了
最近在全面学习Nginx,当作笔记了,如有错误,欢迎指出或深入交流。主模块 {代码...} 事件模块 {代码...} http部分 {代码...} 部分参数详细说明server_name {代码...} location {代码...} location表达式类型 {代...

13sai2阅读 1.8k

把 Go 放到 Nginx C module 之中
最近一段时间,我在做一件有趣的事情,让一个 Nginx C module 通过 Go 代码来访问 gRPC 服务。不得不感慨 Go 真的很流行,让人无法拒绝。之前我做 wasm-nginx-module 时就试图把 tinygo 跑在 Nginx 里面,这次则...

spacewander2阅读 2.2k评论 2

CentOS7 Docker安装Gitlab
官方教程 [链接]搜索镜像docker search gitlab 下载镜像文件docker pull docker.io/gitlab/gitlab-ce创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目...

YYGP阅读 4.7k

化虹为桥 - Nginx 如何代理 UDP “连接”
众所周知,UDP 并不像 TCP 那样是基于连接的。但有些时候,我们需要往一个固定的地址发送多个 UDP 来完成一个 UDP 请求。为了保证服务端能够知道这几个 UDP 包构成同一个会话,我们需要在发送 UDP 包时绑定某个端...

spacewander4阅读 1k

【Docker】基本概念及语法与环境搭建
docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。docker是一种容器技术,它可以对软件及其依赖进行标准化的打包;容器之间先对独立,基于容器运行的应用之间也是相互隔离的;并且容器...

neojayway阅读 3.5k

320 声望
16 粉丝
宣传栏