linux学习lesson40

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

猜你喜欢

转载自blog.csdn.net/InfiniteIdea_Go/article/details/83931401