Linux环境下配置httpd、MySQL和PHP

本教程是centOS7使用的是阿里云的ecs服务器,本地用的xshell,适用于学习配置服务器的新手,可以借用本文档来熟练一些指令,明白这些软件的用处和安装管理,如果只是单纯的为了安装而安装不推荐使用此教程。
从零开始安装,直接初始化阿里云的磁盘,这一步需要在阿里云网站上操作;接下来进入安装过程。

第一步:下载httpd的压缩包和相关依赖包。
1、利用wget命令下载apr、apr-util、pcre和httpd;
1
cd /home //在这里我们将压缩包存放在home目录下
wget https://mirrors.huaweicloud.com/apache/apr/apr-1.6.5.tar.gz
//apr下载命令
wget https://mirrors.huaweicloud.com/apache/apr/apr-util-1.6.1.tar.gz
//apr-util下载命令
wget https://mirrors.huaweicloud.com/apache/httpd/httpd-2.4.41.tar.gz
//httpd下载命令
wget https://ftp.pcre.org/pub/pcre/pcre-8.36.tar.gz
//pcre下载命令
1
2
3
4
5
6
7
8
9
2、利用tar命令解压压缩包
1
tar -zxvf apr-1.6.5.tar.gz
//解压apr
tar -zxvf apr-util-1.6.1.tar.gz
//解压apr-uti
tar -zxvf httpd-2.4.41.tar.gz
//解压httpd
tar -zxvf pcre-8.36.tar.gz
//解压pcre
1
2
3
4
5
6
7
8
3、安装apr
1
cd apr-1.6.5
进入apr的目录
./configure -prefix=/usr/local/apr
make
make install
//make和make install这两个命令可以一起写为:make&&make install
1
2
3
4
5
6
4、安装apr-util
1
cd ./apr-util
//进入apr-util的目录
//在安装apr-util之前,要安装一个名为expat-devel的依赖包,这里我们直接用yum进行安装
yum install -y expat-devel
./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr
//with-apr=后边跟apr的安装路径,这个一定要写对
make
make install
1
2
3
4
5
6
7
8
5、安装pcre
1
安装前要先安装gcc和gcc-c++组件

yum install -y gcc gcc-c++
1
cd ./pcre-8.36
//进入pcre的目录
./configure -prefix=/usr/local/pcre
make
make install
1
2
3
4
5
6、安装httpd
1
cd ./httpd-2.4.41
./configure -prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
//要将之前的全部关联过来,所以httpd一定是最后安装的
make&&make install
1
2
3
4
到此为止,httpd安装完成,但是想让其能在本地电脑访问,还需要修改一下配置文件

修改httpd配置文件
vi /usr/local/apache2/conf/httpd.cnf
//直接用vi打开httpd的配置文件
/ServerName
//直接输入/ServerName按回车 在文档中查找该关键词,按n寻找下一个,找到#ServerName:www.example.com:80,将其修改为
ServerName:你的ip地址或者域名:80
1
2
3
4
5
启动httpd:/usr/local/apache2/bin/apachectl start
1
下载和安装MySQL
1、如果是新的虚拟机则直接进行安装就好,如果说之前安装过数据库,则需要把之前的MySQL卸载掉
查看有没有残余的rpm包:
可用 rpm -qa|grep mysql命令查询,如果发现有则用rpm -e删除;
查找残余的MySQL包:
find / -name mysql
2、在安装之前我们要先安装相关的依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel numactl libaio
3、 创建用户和用户组
groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql
4 、下载压缩包并进行解压,也可以将压缩包下载到本地然后用rz命令上传
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
5、 对压缩包进行解压
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
6、更改文件夹所属
chown -R mysql.mysql /usr/local/mysql/
7、 创建mysql的相关目录
mkdir -p /data/mysql/{data,logs,tmp}
8、更改文件夹所属
chown -R mysql.mysql /data/mysql/
9、配置mysql.server
打开/etc/init.d/mysql
修改目录位置
basedir=/usr/local/mysql
datadir=/data/mysql/data

注册开机启动服务
chkconfig --add mysql
chkconfig –list
10、添加环境变量
echo "PATH=$PATH:/usr/local/mysql/bin " >> /etc/profile
source /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
我们还需要对MySQL的配置文件进行配置

[client]
port= 3306
socke= /data/mysql/tmp/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/data
port = 3306

socket = /data/mysql/tmp/mysql.sock
pid-file = /data/mysql/tmp/mysqld.pid
tmpdir = /data/mysql/tmp
skip_name_resolve = 1
symbolic-links=0
max_connections = 2000
group_concat_max_len = 1024000
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names = 1
log_timestamps=SYSTEM
character-set-server = utf8
interactive_timeout = 1800
wait_timeout = 1800
max_allowed_packet = 32M
binlog_cache_size = 4M
sort_buffer_size = 2M
read_buffer_size = 4M
join_buffer_size = 4M
tmp_table_size = 96M
max_heap_table_size = 96M
max_length_for_sort_data = 8096

#logs
server-id = 1003306
log-error = /data/mysql/logs/error.log
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 3
log-bin = /data/mysql/logs/binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
relay-log = /data/mysql/logs/relay-bin
relay-log-recovery = 1
relay_log_purge = 1

#innodb
innodb_file_per_table = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 256M
innodb_log_files_in_group = 2
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_flush_neighbors = 0
innodb_flush_method = O_DIRECT
innodb_autoinc_lock_mode = 2
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_buffer_pool_size = 2G
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
安装完成之后便是对MySQL进行简单的修改。
MySQL部分参考:https://blog.csdn.net/wanghao112956/article/details/90748883

登录数据库
启动数据库:service mysql start
1
数据库初始密码查看:grep "password" /var/log/mysqld.log
1
mysql -uroot -p //回车后输入密码不会显示,注意不要输错
1
登录之后对数据库无法进行操作,第一步就是要设置自己的密码
1
alter user 'root'@'localhost' identified by 'new password';
1
flush privileges
1
new password设置为自己的密码,注意要有大小写字母和符号,否则设置不生效,设置后进行刷新。
数据库设置远程连接
update user set host="%" where user="root";
//授权所有ip,用%号,单个主机将%换位想要允许的主机ip即可
flush privileges;
1
2
3
注意:如果无法连接,请检查防火墙端口,还无法连接,请检查阿里云网络端口。

PHP安装
1、先安装epel-release和webtatic-release这两个源,因为要安装的php套件,都是从这两个源里进行下载的

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
1
2
3
2、安装PHP套件

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
1
3、最后安装php70w-fpm php70w-opcache

yum install php70w-fpm php70w-opcache -y
1
安装完成
4、启动PHP-fpm

systemctl start php-fpm
1
将PHP和httpd连接起来
修改httpd的配置文件

找到:# LoadModule foo_module modules/mod_foo.so
添加:LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
1
2
3
找到:
在其后边添加:AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
1
2
3
4
5
到此为止配置全部完成,希望能给大家带来便捷。



上一篇:tomcat-APR配置及三种工作模式简介


下一篇:C > windows下定时器(非阻塞方式定时调用时间处理函数)