Linux/CentOS各种服务框架的搭建完整流程
以下就以这篇文档为底稿,进行一些改动和敏感信息的删除,分享给大家,希望对大家故意。
顾笑群 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 gongfuxin@localhost;
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
Linux/CentOS各种服务框架的搭建完整流程的更多相关文章
- Linux CentOS 配置Yaf框架
简介 Yaf框架想必大家都有所了解,它是一个开源的高性能的PHP框架 官网地址:https://www.php.net/manual/zh/book.yaf.php Yaf开发文档:https://w ...
- LINUX centos 7.2/7.3 搭建LANP环境
首先我们先查看下centos的版本信息 #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-relea ...
- Spring Boot微服务框架的搭建
(1)spring boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...
- LINUX centos 7.2/7.3 搭建LAMP环境
首先我们先查看下centos的版本信息 #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-relea ...
- Linux下smba服务端的搭建和客户端的使用
解决了 windows下用root登录linuxsamba后有部分目录访问无权限的问题.应该是SELinux 设置问题. 对selinux进行修改,一般为终止这项服务,操作如下: 查看SELinux状 ...
- 【linux下dhcp服务的简单搭建及优化部署】
dhcp server: 1::vim /etc/sysconfig/network-scripts/ifcfg-scfg:配置 server的 static IP: 2:vim /etc/dhcpd ...
- 基于IDEA实现SSM整合框架的搭建配置流程
1.创建数据库表,以员工信息表为例子: DROP TABLE IF EXISTS `em_info`; CREATE TABLE `em_info` ( `em_id` INT(50) NOT NUL ...
- centos设置服务开机启动
Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHa ...
- CentOS 6.5下快速搭建ftp服务器
来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...
随机推荐
- ORA-01012:not logged on的解决办法
conn / as sysdba 报错ORA-01012: not logged on 发生原因:关闭数据库是shutdown 后面没有接关闭参数中的任何一个. nomal ————- —-所有连接都 ...
- SVD 学习笔记
本文主要学习了这篇博客:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html,将SVD讲的恨透 ...
- flask中的蓝图(BluePrint)
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- Zookeeper概念学习系列之zookeeper的角色
详细,见如下图 1.领导者(leader) : 负责进行投票的发起和决议,更新系统状态. 2.学习者(learner): 包括跟随者(follower)和观察者(observer). 跟随者(foll ...
- vue-cli的创建、基本配置和遇到的问题总结
vue-cli的创建及基本配置 1. 创建 vue-cli 项目 确保本地安装了最新版本的nodejs环境(会自带npm环境); 全局安装vue-cli,命令:npm i -g vue-cli 创建项 ...
- jsp之认识 servlet (基础、工作原理、容器请求处理)
Tomcat 的安装: eclipse 需要自行安装tomcat,这是web 项目运行的服务器.如果用的是MyEclipse,里面自带tomcat,方便清除部署垃圾,利于项目运行. Tomcat的安装 ...
- Android项目实战_手机安全卫士系统加速
## 1.本地数据库自动更新的工作机制1. 开启一个服务,定时访问服务器2. 进行版本对比,如果最新版本比较高,获取需要更新的内容3. 将新内容插入到本地数据库中 ## 2.如何处理横竖屏切换1. 指 ...
- 删除ListView item数据 页面不刷新
最近碰到一个匪夷所思的事情.就是我删除listView中一条item数据 网络请求成功了 但是页面不成功,一番折腾 ,找到问题 ,原来我给item 添加了北京点击事假,又给listView 被禁设置 ...
- 正文处理命令及tar命令
使用cat命令进行文件的纵向合并,具体命令如下所示(注意:>代表将左边命令的执行结果以覆盖的方式放到右边,>>代表将左边命令的执行结果追加到右边) 关于tar命令的一些用法: tar ...
- day10-函数基础知识
函数 什么是函数 把工具事先准备好,然后下次使用的时候,直接使用就行了.我们的函数就是工具 为何用函数 1.遇到重复的功能只能重复编写实现代码,代码冗余 2.功能需要扩展时,需要找出所有实现该功能的地 ...