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服务器配置有所帮助。

(0)

相关推荐

  • CentOS 6.2使用yum安装LAMP以及phpMyadmin详解

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&make install呢. Step1. 为centos配置rpmforge及epel源.centos官方的源其实也够用,不过像php的一些扩展如php-mcrypt在官方源中并没有.rpmforge源可以在 http://pkgs.repoforge.org/rpmforge-release/中下载安

  • CentOS7 LNMP+phpmyadmin环境搭建 第一篇虚拟机及centos7安装

    前一阵子配公司的服务器的时候,发现网上好多教程杂乱无章,然后便根据网上已有资料自己整理了一个lnmp环境的安装教程.因为懒,已经好久没写过博客了.趁着这次公司招新人,把之前整理的文档又整理了一次,顺便发一篇博客.好了,废话不多说,正文开始. 虚拟机及CentOS7安装 没接触过linux的朋友,建议还是先从虚拟机安装开始.大多使用VMware.这里,我使用的是VMware12.安装完成后如下图,点击创建新的虚拟机,自定义. 下一步,下一步选择稍后安装操作系统.下一步,然后选择对应版本的linux

  • 在CentOS上安装phpMyAdmin的教程

    前提 在CentOS上安装phpMyAdmin,你第一步需要架设一台Web服务器(如Apache或nginx),安装好MySQL/MariaDB数据库和PHP.根据你的偏好和需求,你可以从LAMP和LEMP中选择一种安装. 另一个要求是允许在你的CentOS上安装EPEL库.如果你还没设置过请猛戳这里. 在CentOS6或7上安装phpMyAdmin 一旦你设置了EPEL库,你就能轻松地用以下命令安装phpMyAdmin了. 在CentOS 7上: $ sudo yum install phpm

  • CentOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装

    之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin. 跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从epel库里进行安装,之前已经安装过epel的朋友就可以直接下载rpm包了. yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 下载完成后安装phpmyadmin yum install --enablerepo=remi

  • CentOS7 LNMP+phpmyadmin环境搭建 第二篇LNMP环境搭建教程

    上一篇博客我们在虚拟机上安装了centos7,接下来,就开始安装lnmp环境吧. 还是跟之前一样,进入命令行后,先使用su命令切换到root权限. 首先配置防火墙 CentOS 7.0默认使用的是firewall作为防火墙 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.关闭SELINUX: vi /etc/selinu

  • centos下安装配置phpMyAdmin的方法步骤

    centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,很顺利,5年后,竟然花了我二个晚上,感觉在centos下有好多陷井,貌似可以走的通,但是进去后,是死胡同.所以做个笔记 一.在phpMyAdmin官方网站http://www.phpmyadmin.net/downloads/下载源码包 cd /usr/local/src wget https://files.phpmyadmin.net/phpMyAdmi

  • 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的源

  • mysql下载与安装过程详解

    1:下载MySql 官网下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应的下载文件.(我电脑是64位,所以这下载的是64位的下载文件) 2:安装MySql 打开下载文件解压到指定文件目录.(我这里解压目录为D:\mysql-5.7.21-winx64) 打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件) my.ini文件内容如下: (建议直接复制粘贴下面文件) 这里需要将basedir 与 datadir 路径改成mysq

  • 基于nginx设置浏览器协商缓存过程详解

    这篇文章主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 强缓存与协商缓存的区别 强缓存:浏览器不与服务端协商直接取浏览器缓存 协商缓存:浏览器会先向服务器确认资源的有效性后才决定是从缓存中取资源还是重新获取资源 协商缓存运作原理 现在有一个这样的业务情景:后端的静态资源会不定时地发生更新,而因为浏览器默认使用强缓存,会默认从浏览器缓存中取到过时的资源. 现在我们希望浏览器每次获取资源的时候都向后

  • nginx搭建jsdelivr镜像站过程详解

    目录 创建 jsdelivr 镜像站 使用 jsdelivr 镜像站 ​最近 jsdelivr 可谓国内站长圈的头条常客,这不,又双叒叕(yòu shuāng ruò zhuó)打不开了. 如何解决这个问题?最简单的方法当然是使用别人建立的jsd镜像站,但是稳定性和可靠性就只能看镜像站长的心情了吧.自己动手丰衣足食,还是自己搞个镜像吧. 创建 jsdelivr 镜像站 首先,你需要有一台安装了 nginx 的服务器.推荐使用腾讯云轻量服务器的Matomo镜像,其中集成了最新稳定版 nginx.p

  • linux上nginx安装部署及使用过程详解

    1.下载 官网下载地址 2.部署 2.1安装前提 在linux下安装需要安装一下组件 1. gcc && g++ yum install gcc-c++ 2. pcre yum install -y pcre pcre-devel 3. zlib yum install -y zlib zlib-devel 4. openssl yum install -y openssl openssl-devel 2.2 安装 1. 解压nginx文件 tar -zxvf nginx-1.17.5.t

  • nginx搭建图片服务器的过程详解(root和alias的区别)

    安装过程略(我是直接用 yum -y install nginx; 安装的). 启动 启动(重启)nginx,以下2个命令都可以: systemctl restart nginx; # 注:这里的nginx不是目录,是cd不进去的 /usr/sbin/nginx -s reload; 一般不报错就是启动成功. 页面验证nginx是否启动 浏览器输入ip,返回centos页面,这不对吧? 看下配置文件: root /usr/share/nginx/html; 该目录下的index.html 内容就

  • Junit写法及与spring整合过程详解

    junit之前的写法: //在Before中注入service类 private IUserService userService; @Before public void setUp() throws Exception { //使用xml的方式 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //使用注解的方式 Applicat

  • CentOS 7中Nginx日志定时拆分实现过程详解

    一.编写拆分脚本(splitNginxLog.sh) * 因为本例中设置每天0点进行日志的拆分,所以folder和rq均设置采用昨天的日期进行归档. #!/bin/bash folder=`date -d yesterday +%Y%m` rq=`date -d yesterday +%Y%m%d` # 原始日志路径 logs_path="/var/log/nginx/sitename.com/" # 日志备份路径 logs_backup_path="/var/log/ngi

  • 服务器Centos部署MySql并连接Navicat过程详解

    (1)服务器配置: [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm """ mysql-community-clien

  • Nginx开启Brotli压缩算法实现过程详解

    前言 在web应用中,为了节省流量,降低传输数据大小,提高传输效率,常用的压缩方式一般都是gzip,今天我们来介绍另外一种更高效的压缩方式brotli. Brotli 是基于LZ77算法的一个现代变体.霍夫曼编码和二阶上下文建模.Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩. 注意:使用算法的前提是启用了 https,因为 http 请求中 request header 里的 Accept-Encoding: gzip, defl

随机推荐