Linux/CentOS各种服务框架的搭建完整流程

在2012年的时候,由于要照应新人对Linux以及相关服务的了解和学习,我特地把当时我们创业项目的全部服务搭建过程写成了一篇文档,能够让他们学习而且有所參照。

以下就以这篇文档为底稿,进行一些改动和敏感信息的删除,分享给大家,希望对大家故意。

说明,下面的Rafael是我的英文名。应用是当前已经改变方向的功夫信,英文直写拼音gongfuxin。本文除了Linux帐号、部分安全的基本配置,还有php/php-fpm/mysql/redis/nginx的安装和配置。

转载请注明出处。

更新记录:

顾笑群 2012年10月26日 通过虚拟机安装机器,開始描写叙述安装步骤

顾笑群 2012年12月04日 通过虚拟机安装机器,而且安装内部測试的全套服务,完好整个安装步骤

顾笑群 2014年8月7日 处于网络分享目的。有所删除和修正

第一部分 干净server的安装

========================

1. 下载CentOS 6.3(当前最新已经是6.5了) 64bit的CD1(不是liveDVD或者liveCD),然后依照向导设置,以下是设置的一些注意点:

1) 由光盘启动,安装Centos 6.3

2) 选择默认的英语安装

3) 磁盘选择整个硬盘

4) 时间选择上海,不要选择UTC

5) 设置rootpassword的时候,要备份这个password

6) 选择basic server的方式安装

7) 自己定义选择包,在语言中选择中文包

2. 网络和系统配置

1) 内部測试机,能够使用静态IP,也能够是动态IP。公网机器一定要使用静态IP,使用setup命令进行设置,也能够直接更改相应的配置文件:

/etc/sysconfig/network-scripts/ifcfg-eth0,特别是要把ONBOOT的值改为yes,一般改好后最好重新启动,就能使用网络了

2) 然后运行yum update,对系统进行全面的更新,完毕之后最好又一次启动一次

3) 假设内核升级了,不要删除全部的老内核,至少保留近期一次的老内核,以防新内核有问题

4) 关闭SELinux,通过改动/etc/selinux/config来实现。以后能够通过防火墙来保护server

3. 账户的设置和维护

1) 创建管理用户,如useradd rafael

2) 对新创建的用户进行password设置,如passwd rafael,一般要备份这个password

4) 把rafael增加到wheel用户组中,在/etc/group中进行配置

5) 把wheel用户组设置为sudo的信任用户组,在/etc/sudoers中进行改动,注意这个文件要先改为可写,改动完后再该回去

6) 禁止root用户远程ssh登录,到/etc/ssh/sshd_config中进行配置,设置PermitRootLogin no,然后又一次启动sshd

7) 以后尽量通过ssh远程登录这个机器了

第二部分 安装nginx, mysql, php, redis等

========================

1. 设置epel更新源(官方源太老了)

1) 主要參照http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/,会有一些小的变动,以以下为准。首先完毕以下两步:

a. sudo rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm (最好到http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/看看epel的最新版本号,应该不止6-8了)

b. sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm(最好到http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/看看最新版本号)?

2) 然后找到nginx源,到http://nginx.org/en/download.html找到CentOS6一行,然后能够下载相应的rpm,也能够直接通过例如以下命令:sudo rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

2. 安装须要的软件

1) 安装php和nginx,如:sudo yum --enablerepo=remi install nginx php php-fpm php-common

2) 安装php的组件,如:sudo yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-devel

3) php-redis请依据https://github.com/nicolasff/phpredis上的说明用Git下载并编译和安装(安装gcc和Git先:sudo yum --enablerepo=remi install gcc git),然后须要手动的在/etc/php.d/中添加redis.conf以及相关内容

4) 安装mysql和redis,如:sudo yum --enablerepo=remi install mysql mysql-devel mysql-server redis

5) 然后分别配置php-fpm/nginx/mysql/redis在2/3/4/5级别自己主动启动,能够通过chkconfig来设置

第三部分:配置mysql, redis, nignx, php等

========================

1. 配置mysql

1) 启动mysql:sudo service mysqld start,会提示你第一次启动的一些初始化注意事项

2) 设置root的本地password,备份password;能够看情况是否设置root的远程帐号

3) 登入mysql,用命令行创建其它用户和password,必须设置gongfuxin帐号以及password,备份password,此帐号用于站点登录

4) 建立基于utf8的数据库gongfuxin,然后导入gfx_recreate_all.sql,还有城市,省份和大学的相应表,把gongfuxin数据库的全部权限赋予gongfuxin帐号:grant all privileges on gongfuxin.* to [email protected];

5) 能够在远程登录mysql进行设置,这样更方便,可是之前要配置远程帐号,而且要打开防火墙的3306(tcp)port,之前的帐号创建,数据库创建都能够使用这样的方式,可是安全欠妥

6) 对于mysql的配置文件,能够在/usr/share/mysql/中找到,然后依据详细内存大小选择,覆盖到/etc/my.cnf中就能够了,然后又一次启动:sudo service mysqld restart

2. 配置redis

1) 配置文件在/etc/redis.conf,临时不须要配置

2) 启动redis:sudo service redis start

3. 配置php

1) 编辑/etc/php.ini,改动例如以下(这里的配置是针对上线server的。不是针对开发环境的):

?implicit_flush = On

?expose_php = Off

?error_log = /var/log/php-fpm/php_error.log

2) 改动/var/lib/php/session的权限,使之属于nginx用户组,而非apache用户组(此时root应该为用户,不须要改变)

3) 改动/var/log/php-fpm的权限,使之属于nginx用户,而非apache用户(此时root应该为用户组,不须要改变)

4) 改动/etc/php-fpm.d/www.conf,使user和group都是nginx

5) 启动php-fpm:sudo service php-fpm start

4. 配置nginx

1) /etc/nginx/nginx.conf依据实际情况配置,对于内部測试环境不须要配置,注意,一般须要改动系统进程最大线程数以及句柄数,用ulimit -a能够查看;进程的线程堆栈大小在程序中自己主动改动

2) /etc/nginx/conf.d/default.conf,须要配置成我们的公布文件夹,假设有多个公布文件夹就须要多个类似的配置文件,而且配置成PHP解析,例如以下:

*********file start*********

listen       8050;

server_name  localhost;

charset      utf-8;

access_log   /var/log/nginx/access.log  main;

root         /usr/share/nginx/gongfuxin;

location / {

index  index.php;

}

location ~ \.php$ {

include                 fastcgi_params;

fastcgi_pass            127.0.0.1:9000;

fastcgi_index           index.php;

fastcgi_param           SCRIPT_FILENAME  $document_root$fastcgi_script_name;

client_max_body_size    8m;

}

# deny access to .htaccess files, if Apache‘s document root

# concurs with nginx‘s one

location ~ /\.ht {

deny  all;

}

}

*********file end*********

3) 请依据配置分别改动php-cgi的监听port(以下会说道);然后打开80(tcp,正规server,必须是80port)或者8050(tcp,内部測试,也能够使用其它未被使用的port)的防火墙设置

4) 须要建立/usr/share/nginx/gongfuxin目录

5) 启动nginx:sudo service nginx start

?

时间: 2025-01-07 23:18:15

Linux/CentOS各种服务框架的搭建完整流程的相关文章

Redis集群搭建完整流程演示

Redis集群搭建完整流程演示 前言 ? 前面讲述了有关redis的编译安装流程以及其配置优化的部分内容,本文旨在本地模拟redis服务器集群搭建的流程演示. Redis集群的作用是什么? ? 在实验部署开始前,我们需要明白为什么需要搭建Redis集群,其解决了什么样的问题?又有哪些优势.我们可以从单一的Redis服务器来探究这个问题. 单一Redis服务器存在的问题 ? 如果部署过MySQL主从复制读写分离以及MHA高可用的话,这里就非常容易想到单一Redis服务器所存在的问题,主要有以下几点

LINUX centos 7.2/7.3 搭建LANP环境

首先我们先查看下centos的版本信息 #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-release 接下来我们先安装一台web服务器,因为是lanp,所以我们选用的是apache yum install httpd 然后我们手动启动apache #centos7 启动httpd apachectl start #centos6.5 启动httpd /etc/init.d/httpd star

Linux(CentOS 7)LAMP环境的搭建

LAMP环境的搭建 L :Linux A :apache M :mysql P :PHP 实验建议关闭防火墙和修改SE Linux机制,或者设置防火墙. 步骤: 1.安装apache服务 yum install -y httpd httpd-devel 测试: 在浏览器中直接访问localhost是能后访问到下图 2.安装数据库 yum install mariadb mariadb-server mariadb-libs mariadb-devel 开启MySQL服务 systemctl st

linux企业常用服务---haproxy+nginx搭建web高可用集群

部署前准备: iptables和selinux没配置,关掉 挂载系统镜像作为本地yum源,修改yum文件 源码包准备 nginx.1.6.0.tar.gz  haproxy-1.4.24.tar.gz 实验环境描述: 两个nginx分别为192.168.100.110 and192.168.100.120 一个haproxy为192.168.100.160 1 .分别在110和120上搭建nginx yum -y install pcre-devel zlib-devel ##安装依赖包 use

Linux下smba服务端的搭建和客户端的使用

解决了 windows下用root登录linuxsamba后有部分目录访问无权限的问题.应该是SELinux 设置问题. 对selinux进行修改,一般为终止这项服务,操作如下: 查看SELinux状态: 1./usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled 2.getenforce ##也可以用这个命令检查 关闭SELinux: 1.临时关闭(不用重启机器): setenforce

centos设置服务开机启动

Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算 手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务. 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,

Linux / CentOs 7搭建DHCP服务

在前面介绍了怎么在Windows server 2016中搭建DHCP服务, 我们今天介绍如何在Linux / CentOS 7操作系统中搭建DHCP服务?跟在Windows server 2016中差不多,接下来我们一步一步来1.打开CentOS7 的服务器,首先确定IP地址,通过"ifconfig"查询本机的IP地址通过查询只发现Mac地址,并未发现IP地址2.我们通过更改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33来修改IP地址,使

Linux Centos 6.6搭建SFTP服务器

在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 1 ssh -V 使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 1 groupadd sftp 2.创建一个sftp用户,用户名为mysftp,密码为mysftp 修改用户密码和修改Linux用户密码是一样的. useradd -g sftp -s /bin/false

linux Centos下搭建性能监控Spotlight on Unix

公司要做压力测试,有Linux服务器一台,系统Centos6.5,为了直观的展示系统性能,更好的去分析服务器,故要搭建一个监控.闲言休讲,直奔主题. 首先,Linux服务器一台:系统Centos6.5 其次,在我的笔记本上安装监控软件客户端 软件下载地址链接: 链接:http://pan.baidu.com/s/14Vwlw     密码:tmw4 配置spotlight登陆用户,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.具体方法新建账号