LAMP+FTP
这部分是大同部分服务器的基础配置。
MySQL:5.6.38 PHP:5.4.16 Apache(http):2.4.6
首先考虑分区
mysql的分区可以不用太大,一般的网站 20G够用了
网站目录一般可以分大一点 因为网站多个可能会有一些缓存文件。
备份目录适当。
可以检查是否分区 一般服务器都有两块盘。
一块是系统盘,一块是购买的数据盘。大部分linux的硬盘是/dev/vda /dev/vdb/ /dev/vdc的形式 vda就是第一块硬盘,/(根分区一般挂载在这个上面),vdb是第二块硬盘,一次类推。分区之后vdb1是第二块硬盘的第一个分区,vdb2是第二块硬盘的第二个分区,以此类推。
搭建环境
#安装FTP
yum install vsftpd -y
#下载软件:默认是当前目录 所以可以自己切换好路径
wget http://dev.mysql.com/get/mysql-community-releaseel7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y
#如果报错 大概是 wget command not found这种错
yum install wget -y #直接安装后重新执行上面的下载语句就可以了
#安装Apache, PHP, MySQL以及php连接mysql库组件
yum -y install httpd php mysql mysql-server php-mysql
#安装apache扩展
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
#安装php扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear phpxmlrpc
#安装php扩展 以后需要其他php模块也可以通过这种方式去安装,yuminstall php-xxx -y 前提是你的yum源里要有这个软件包,不然就只能去网上找,然后根据网上的方式安装。
配置
1、做好备份
在没把握能保证你修改了配置之后服务能正常重新启动之前,备份配置文件 万一起不来直接还原就阔以了。
一般 大部分的配置文件都能在 /etc 这个目录下找得到。
#ftp配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#mysql配置文件
cp /etc/my.cnf /etc/my.cnf.bak
#apache配置文件
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#mysql配置文件
cp /etc/my.cnf /etc/my.cnf.bak
#apache配置文件
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
2、修改配置
下面是我配置服务器的一些基本配置:
2.1 FTP配置
# 查看FTP配置项
cat /etc/vsftpd/vsftpd.conf |grep-v '#'
# 修改FTP配置文件
vim /etc/vsftpd/vsftpd.conf
# 修改FTP配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名访问
local_enable=YES #允许本地用户访问
write_enable=YES #可写
local_umask=002 # 上传文件的权限 默认是022,即755的权限 dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/userconfig/
local_root=/home/www #ftp根目录
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000 #客户端端口范围 一般centos不需要这个配置 之前配置ubuntu的时候有碰到
过,所以每次配置都会加一下这个。注意服务器和防火墙要开放这些端口
pasv_max_port=40080
2.2 MySQL配置
# 查看mysql配置项
cat /etc/my.cnf |grep -v '#'
# 修改mysql配置文件
vim /etc/my.cnf
[mysqld]
datadir=/home/mysql #mysql 数据库目录
socket=/var/lib/mysql/mysql.sock #这个一般用默认的就可以了 非要改也行 其他文件里有修改的方法
lower_case_table_names=1 #忽略大小写
port=3306
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8
collation-server=utf8_general_ci
log-bin-trust-function-creators=1
log-bin=/home/backup/mysql_bin/mysql-bin #设置二进制文件 不用开启的话 就不用这个配置了
slow_query_log = on #开启慢查询日志
slow-query-log-file = /home/backup/mysql_slow/mysql-slow.log #慢查询日志文件路径 自定义
long_query_time = 2
expire_logs_days = 5 #二进制文件保留时间
[mysqld_safe]
log-error=/home/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8 #默认编码 最好还是设置一下
#mysql注意编码问题
2.3 Apache(httpd) 配置
#查看配置项
cat /etc/httpd/conf/httpd.conf |grep -v '#'
#修改配置文件
vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
AllowOverride all
Require all granted
DocumentRoot "/home/www/" #网站根目录
#这种格式可以设置多个的 多个网站的权限不一样就用这种方式单个设置 也可以放进virtualHost里设置
AllowOverride None
Require all granted
Options FollowSymLinks
AllowOverride None
Require all granted
DirectoryIndex index.html
Require all denied # 要使用伪静态的时候可以把denied改成granted
ErrorLog "/home/backup/apache_logs/error_log" #错误日志可以使用默认的 也可以自定义
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
CustomLog "/home/backup/apache_logs/access_log" combined
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AllowOverride None
Options None
Require all granted
TypesConfig /etc/mime.types
AddType application/x-compress .Z AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddDefaultCharset UTF-8
MIMEMagicFile conf/magic
EnableSendfile on
IncludeOptional conf.d/*.conf
#配置虚拟主机 多个网站 绑定域名
#也可以用多个端口 使用用同一个域名 但是要添加端口监听 在Listen 80后面添加 Listen 8080l类似
ServerAdmin root@admin
DocumentRoot /home/www/
ServerAdmin root@admin
DocumentRoot /home/www/xxxxx
ServerName www.xxxxxx.com
ErrorLog /home/backup/apache_logs/xxx-error_log
CustomLog /home/backup/apache_logs/xxx-access_log common
*再配上一些基本操作
systemctl enable httpd.service #开机运行服务
systemctl disable httpd.service #取消开机运行
systemctl start httpd.service #启动服务
systemctl stop httpd.service #停止服务
systemctl restart httpd.service #重启服务
systemctl reload httpd.service #重新加载服务配置文件
systemctl status httpd.service #查询服务运行状态
最后非常感谢美女运维 @鱼儿 的整理