文章目录
1 mariadb安装
[root@linux01 ~]# cd /usr/local/src
[root@linux01 src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
[root@linux01 src]# tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
[root@linux01 src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
初始化mariadb
[root@linux01 src]# cd /usr/local/mariadb
[root@linux01 mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
[root@linux01 mariadb]# echo $?
0
配置mariadb的my.cnf配置文件
[root@linux01 mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
[root@linux01 mariadb]#vi /usr/local/mariadb/my.cnf
//定义basedir和datadir(如果一台服务器中有多个mysql服务,对应的端口需要修改,默认是3306,可以修改为3307,3308等)
basedir=/usr/local/mariadb
datadir=/data/mariradb
[root@linux01 mariadb]#cp support-files/mysql.server /etc/init.d/mariadb
[root@linux01 mariadb]#vim /etc/init.d/mariadb
//定义basedir、datadir、conf以及启动参数
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf
指定修改启动配置文件路径:--defaults-file="$conf",找到$bindir/mysqld_safe这一行添加在后面
case "$mode" in
'start')
# Start daemon
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n "Starting MySQL"
if test -x $bindir/mysqld_safe
then
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
[root@linux01 mariadb]#/etc/init.d/mariadb start
2 Apache安装
下载包和解压,httpd2.4
[root@linux01 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.34.tar.gz
[root@linux01 src]# wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.5.tar.gz
[root@linux01 src]# wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)
[root@linux01 src]# tar zxvf httpd-2.4.34.tar.gz
[root@linux01 src]# tar zxvf apr-util-1.6.1.tar.gz
[root@linux01 src]# tar zxvf apr-1.6.5.tar.gz
先编译apr包:
[root@linux01 src]# cd /usr/local/src/apr-1.6.5
[root@linux01 apr-1.6.5]# ./configure --prefix=/usr/local/apr
[root@linux01 apr-1.6.5]# make && make install
然后编译apr-util包:
[root@linux01 src]# cd /usr/local/src/apr-util-1.6.1
[root@linux01 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@linux01 apr-util-1.6.1]# make && make install
最后在编译httpd包:
[root@linux01 src]# cp -r /usr/local/src/apr-1.6.5/ /usr/local/src/httpd-2.4.34/srclib/apr
[root@linux01 src]# cp -r /usr/local/src/apr-util-1.6.1/ /usr/local/src/httpd-2.4.34/srclib/apr-util
[root@linux01 src]# cd /usr/local/src/httpd-2.4.34
[root@linux01 httpd-2.4.34]# ./configure \ //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行(不要直接复制粘贴,会有问题的)
--with-included-apr
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-mods-shared=most
[root@linux01 httpd-2.4.34]# echo $?
0
[root@linux01 httpd-2.4.34]# make && make install
查看编译完得module目录:
[root@linux01 httpd-2.4.34]# ls /usr/local/apache2.4/modules/
httpd.exp mod_dbd.so mod_proxy_http.so
mod_access_compat.so mod_dir.so mod_proxy_scgi.so
mod_actions.so mod_dumpio.so mod_proxy.so
mod_alias.so mod_env.so mod_proxy_uwsgi.so
mod_allowmethods.so mod_expires.so mod_proxy_wstunnel.so
mod_auth_basic.so mod_ext_filter.so mod_ratelimit.so
mod_auth_digest.so mod_file_cache.so mod_remoteip.so
mod_auth_form.so mod_filter.so mod_reqtimeout.so
mod_authn_anon.so mod_headers.so mod_request.so
mod_authn_core.so mod_include.so mod_rewrite.so
mod_authn_dbd.so mod_info.so mod_sed.so
mod_authn_dbm.so mod_lbmethod_bybusyness.so mod_session_cookie.so
mod_authn_file.so mod_lbmethod_byrequests.so mod_session_dbd.so
mod_authn_socache.so mod_lbmethod_bytraffic.so mod_session.so
mod_authz_core.so mod_lbmethod_heartbeat.so mod_setenvif.so
mod_authz_dbd.so mod_log_config.so mod_slotmem_shm.so
mod_authz_dbm.so mod_log_debug.so mod_socache_dbm.so
mod_authz_groupfile.so mod_logio.so mod_socache_memcache.so
mod_authz_host.so mod_macro.so mod_socache_shmcb.so
mod_authz_owner.so mod_mime.so mod_speling.so
mod_authz_user.so mod_negotiation.so mod_status.so
mod_autoindex.so mod_proxy_ajp.so mod_substitute.so
mod_buffer.so mod_proxy_balancer.so mod_unique_id.so
mod_cache_disk.so mod_proxy_connect.so mod_unixd.so
mod_cache.so mod_proxy_express.so mod_userdir.so
mod_cache_socache.so mod_proxy_fcgi.so mod_version.so
mod_cgid.so mod_proxy_fdpass.so mod_vhost_alias.so
mod_dav_fs.so mod_proxy_ftp.so mod_watchdog.so
mod_dav.so mod_proxy_hcheck.so
查看加载的模块:
/usr/local/apache2.4/bin/httpd -M //查看加载的模块
[root@linux01 httpd-2.4.34]# /usr/local/apache2.4/bin/httpd -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.139.111. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)
安装Apache出现问题
1)
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
解决办法:
[root@worker1 apr-util-1.6.1]# yum install -y expat-devel
2)httpd2.4的configure报错
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解决办法:
[root@worker1 httpd-2.4.34]# yum install -y pcre-devel
3)httpd2.4源码make报错
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory /usr/local/src/httpd-2.4.34/support' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/usr/local/src/httpd-2.4.34/support’
make: *** [all-recursive] Error 1
解决办法:
[root@worker1 httpd-2.4.34]# cp -r /usr/local/src/apr-1.6.3/ /usr/local/src/httpd-2.4.34/srclib/apr
[root@worker1 httpd-2.4.34]# cp -r /usr/local/src/apr-util-1.6.1/ /usr/local/src/httpd-2.4.34/srclib/apr-util
[root@worker1 httpd-2.4.34]# ./configure --with-included-apr --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[root@worker1 httpd-2.4.34]# make
[root@worker1 httpd-2.4.34]# make install
4)./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 出现报错
make[1]: *** [xml/apr_xml.lo] Error 1
make[1]: *** Waiting for unfinished jobs…
make[1]: Leaving directory `/usr/local/src/apr-util-1.6.1’
make: *** [all-recursive] Error 1
解决办法:
[root@worker1 apr-util-1.6.1]# yum install -y expat-devel
5) /usr/local/apache2.4/bin/apachectl start 启动报错
[root@computer01 src]# /usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: line 79: 2301 Segmentation fault $HTTPD -k $ARGV
解决办法:
php5或者php7其中一个模块注释掉
LoadModule php5_module modules/libphp5.so
#LoadModule php7_module modules/libphp7.so
扩展
apache dso https://yq.aliyun.com/articles/6298
apache apxs https://wizardforcel.gitbooks.io/apache-doc/content/51.html
apache工作模式 https://blog.csdn.net/STFPHP/article/details/52954303