centos6.4+nginx+mysql+php+phpmyadmin整合过程详解_服务器其它

本文实例讲述了centos6.4+nginx+mysql+php+phpmyadmin整合过程。分享给大家供大家参考,具体如下:

装了很多次机,做了很多次重复工作,最后,总结以下装CentOS经验:

注:很多问题其实都不是问题,先把selinux关了!setenforce 0 ,不然会死的很惨!

1. 先更新源

启用国内的源:163或sohu

163:http://mirrors.163.com/.help/centos.html

如果想使用新的软件,建议用REPL和remi的源

#remi的源
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
#Fedora REPL的源
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

然后 yum update 升级系统

下面才是安装我们需要的软件,例如 nginx+php+php-fpm+mysql+vsftpd等

下面开始配置:

1. 设置系统时间

cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime
date #查看系统时间
*/30 * * * * /usr/sbin/ntpdate time.nist.gov
crontab -e

加入这行:*/30 * * * * /usr/sbin/ntpdate time.nist.gov

2. 更新系统

yum update

3. 安装Nginx:

Niginx 官方的更新源增加: vim /etc/yum.repos.d/nginx.repo

增加以下内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
yum install nginx

优化Nginx配置:

#根据CPU核心processes而定
worker_processes 6;
worker_cpu_affinity 000001 000010 000100 001000 010000 100000 ;<br><br>
#启用epoll
worker_rlimit_nofile 51200;
events {
  worker_connections 51200;
  use epoll;
}

#参数调整
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
keepalive_timeout 50;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;

#fastcgi优化
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;

#开启gzip并优化
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

设置开机启动:

service nginx start
chkconfig nginx on
#安装php,php-fpm
yum install php php-fpm php-bcmatch php-gd php-mbstring php-mcrypt php-mysql

配置PHP脚本的运行:

cp/etc/nginx/conf.d/default.conf etc/nginx/conf.d/default.confbak
vim /etc/nginx/conf.d/default.conf

设置网站的默认目录:#这里php-fpm是采用监听端口的方式,同一台机的话最好采用unix socket

#去除下面这段内容的注释
location ~ \.php$ {
  root /home/www;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include fastcgi_params;
}
#注意其中fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

4. vsftpd配置

先配置iptables , vi /etc/sysconfig/iptables ,复制 --dport 22那行,粘贴改成21端口。保存,重启service iptables restart。

yum install vsftpd ftp
touch /var/log/vsftpd.log
service vsftpd start
chkconfig vsftpd on
vim /etc/vsftpd/vsftpd.conf
#修改相关参数如下:
#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
local_enable=YES
#使用户不能离开主目录,并制定文件
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来 ,前面步骤已经创建
xferlog_file=/var/log/vsftpd.log
#允许使用ASCII模式上传和下载
ascii_upload_enable=YES
ascii_download_enable=YES
#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd
#以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。默认vsftpd.conf中不包含这些设定项目,需要自己手动添加RHEL/CentOS FTP服务配置。
#设定启用虚拟用户功能。
guest_enable=YES
#指定虚拟用户的宿主用户。-RHEL/CentOS中已经有内置的ftp用户了
guest_username=ftp
#设定虚拟用户个人vsftp的RHEL/CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名) user_config_dir=/etc/vsftpd/vuser_conf
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
yum install db4 db4-utils
vim /etc/vsftpd/vuser_passwd.txt

加入相应的用户信息,其中奇数行为你新增用户的账号,偶数行为密码,不能有空格

username1
password1
username2
password2

保存文件退出,生成用户认证的db文件

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
vim /etc/pam.d/vsftpd

用#注释所有的内容,然后增加以下两行内容:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

保存退出。再创建虚拟用户的ftp服务文件夹,以及前文中所增加的账号用户的配置文件

mkdir /etc/vsftpd/vuser_conf/
vim /etc/vsftpd/vuser_conf/username1

填写以下内容:

#username1用户的根目录(自己决定)
local_root=/home/www/ftp
write_enable=YES
anon_umask=0
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

保存内容,退出。要创建上述配置文件中所设置的用户根目录,并为其设置权限

mkdir /home/www/ftp
chmod 777 /home/www/ftp
service vsftpd restart

ok

#有时候会出现,可以连接ftp,却不能列出目录,这个是iptable的端口问题。开启PASV即可,vim /etc/vsftpd/vsftpd.conf

pasv_enable=YES
pasv_min_port=9000
pasv_max_port=9020

然后在iptables里面加上这两个端口,还是前面说的,yy一行22,再p一下,把22改成9000:9020;

还有可能是selinux的关机,

modprobe ip_nat_ftp
service iptables restart && service vsftpd restart

5. 安装Mysql5.6

yum update
#数据库服务器的安装 , 请自行在mysql官方找最新的rpm
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install mysql-server

安装完成后记得运行

mysql_security_installation

远程连接时,还要将mysql3306端口加入iptables,同样使用前面的方法,复制一句22的,改成3306,重启iptables即可。

配置mysql远程连接:命令行使用root登录

mysql -uroot -p
use mysql;
update user set host = '%' where user = 'root';

另外可能的工作:

安装phpMyAdmin

google phpMyAdmin找到在sourceforge的地址,然后在网站根目录下wget下来。

解压,重命名目录,进入目录,

cp config.sample.inc.php config.inc.php

重启nginx

注意这里还得再改一下,浏览器进入phpmyadmin地址,可能会出现下面的错误:

Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.

需要将/var/lib/php/session的所有者改为nginx

chown -R nginx:nginx /var/lib/php/session

现在应该可以访问了...

配置mysql远程连接

因为管理需要,我们需要远程连接一下mysql,以进行管理。安装好phpmyadmin后,在用户那里可以选择新建一个用户,将主机设置为需要连接的主机ip或任意主机即可

自动挂载硬盘:

由于外置了一个硬盘,所以得配置开机自动挂载。vim /etc/fstab加入:

/dev/sdc /mnt/data auto defaults 0 0

centos网络配置:

IP设置 : /etc/sysconfig/network-scripts/ifcfg-eth0

网关设置: /etc/sysconfig/network

DNS设置: /etc/resolv.conf

重启网络:

service network restart

关闭SELiinux

在后面的工作中,发现很多地方不方便,例如ftp无法上传等问题,ssh远程无法连接等,于是关闭SELinux,运行以下命令:

#/usr/sbin/setenforce 0
#echo "usr/sbin/setenforce 0" >> /etc/rc.local

这样就可以把关闭SELinux加入开机启动。

希望本文所述对大家CentOS服务器配置有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, php
, nginx
, phpmyadmin
, 整合
centos6.4
centos6.4 phpmyadmin、centos6.4 nginx、centos6.4安装nginx、centos6.4 nginx 卸载、centos 6.4 ftp服务器,以便于您获取更多的相关知识。

时间: 2024-08-02 17:46:44

centos6.4+nginx+mysql+php+phpmyadmin整合过程详解_服务器其它的相关文章

Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8+phpMyAdmin 2.10.1环境配置安装教程图文详解 _服务器

Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8 +phpMyAdmin 2.10.1环境配置安装教程详解  本教程由IT坊资讯网www.ithov.com原创发布,转载请注明出处本次安装所使用的相关软件如下: 操作系统:Windows 2003 企业版 SP2 +IIS6.0  php版本:php-5.2.2-Win32.zip  下载地址:http://soft.ithov.com/2007/200705/Soft_15259.

ubuntu12.04 /centos 环境下源码编译安装mysql 5.7.14过程详解

1,安装前期工作.创建mysql用户以及数据存放目录 groupadd mysql useradd -r -g mysql -s /bin/false mysql mkdir -p  /data/mysql/ chown  -R mysql.mysql  /data/mysql/ 安装依赖包: apt-get install build-essential libncurses5-dev cmake openssl*  -y 2,前期工作做完,,准备下载源码包编译安装和初始化. 到mysql官网

win7下Apache2.2+Tomcat7.0整合配置详解_win服务器

一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Linux 等操作系统中运行是最流行的Web服务器软件之一.Apache 反应速度快,运行效率高,但只支持HTML等静态页面(加载插件后也可支持 PHP 页面). Apache Tomcat 是由 Apache 软件基金协会与 Sun 公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持

sql注入过程详解_动力节点Java学院整理

SQL注入攻击的总体思路是: 1.发现SQL注入位置: 2.判断后台数据库类型: 3.确定XP_CMDSHELL可执行情况 4.发现WEB虚拟目录 5. 上传JSP木马: 6.得到管理员权限: 一.SQL注入漏洞的判断 一般来说,SQL注入一般存在于形如:HTTP://xxx.xxx.xxx/abc.jsp?id=XX等带有参数的jsp或者动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论.总之只要是带有参数的动态网页且此网页访问

ASP.NET购物车实现过程详解_实用技巧

1. 将test数据库附加到数据库管理系统中:数据库中的book_info包含下列数据: 2. 新建一个网站,将images文件夹复制到网站中: 3. 在Default.aspx中,通过DataList控件展示数据库中的所有数据,以行为主序,每行3列,单击购买按钮时,将商品的ID和数量保存到HashTable中,并将HashTable放置到Session中. protected void DataList1_ItemCommand(object source, DataListCommandEv

新浪微博OAuth认证和储存的主要过程详解

 本文给大家介绍的是参考Twitter的认证过程实现的新浪微博OAuth认证和储存的主要过程详解     网上很多关于OAuth的文章,但是包括sina本身都都没有详细的的介绍,包括验证过程和验证后数据的储存,所以参考了Twitter的认证过程写下一些详细的注释代码. 在我们开始前,我们先建立一张数据库来保存用户信息,下面是一个基本的 Mysql 的例子: ? 1 2 3 4 5 6 7 8 9 CREATE TABLE `oauth_users` ( `id` INT(10) UNSIGNED

android上传图片到PHP的过程详解_php实例

今天在做上传头像的时候,总是提交连接超时错误,报错信息如下:XXXXXXSokcetTimeOutXXXXXXXX 然后自己设置HTTP的超时时间: 复制代码 代码如下: [java] view plaincopyprint? //设置超时时间  httpclient.setTimeout(20000);  再building,runing,还是不行....这就怪了,明明好好的,怎么会突然就变成连接超时了呢!又折腾了一阵子后,也跟后台那边的朋友沟通过,他也测试了上传接口,发现没什么问题,就让我自

springboot与mybatis整合实例详解(完美融合)_java

简介 从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目.它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用.Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合.大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来. Spring Boot 包含的特性如下: 创建可以独立运行的 Spring 应用. 直接嵌入 Tomc

yum安装CDH5.5 hive、impala的过程详解_Linux

一.安装hive 组件安排如下: 172.16.57.75 bd-ops-test-75 mysql-server 172.16.57.77 bd-ops-test-77 Hiveserver2 HiveMetaStore 1.安装hive 在77上安装hive: # yum install hive hive-metastore hive-server2 hive-jdbc hive-hbase -y 在其他节点上可以安装客户端: # yum install hive hive-server2