→软件包

mkdir /soft/

cd /soft

♦下载以下软件包

nginx-1.14.2.tar.gz

wget http://nginx.org/download/nginx-1.14.2.tar.gz 

mysql-boost-5.7.25.tar.gz

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz

boost_1_59_0.tar.gz

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

php-7.1.27.tar.gz

wget http://cn2.php.net/get/php-7.1.27.tar.gz/from/this/mirror

zabbix-4.0.5.tar.gz

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.5/zabbix-4.0.5.tar.gz/download 

mv download zabbix-4.0.5.tar.gz

→解压

tar zxvf nginx-1.14.2.tar.gz
tar zxvf mysql-boost-5.7.25.tar.gz
tar zxvf boost_1_59_0.tar.gz
tar zxvf php-7.1.27.tar.gz
tar zxvf zabbix-4.0.5.tar.gz

→安装nginx

♦安装依赖

yum install -y  pcre* openssl*

♦预编译

[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx \
> --with-http_ssl_module \
> --with-http_stub_status_module \
> --with-pcre \

♦编译安装

[root@localhost nginx-1.14.2]# make && make install

♦创建网站目录

[root@localhost nginx-1.14.2]# mkdir /var/www/html -p

→安装PHP

♦安装依赖

[root@localhost nginx-1.14.2]# yum install -y gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel php-mysql php-bcmath

♦ 预编译

[root@localhost php-7.1.27]# ./configure --prefix=/usr/local/php \
> --with-config-file-path=/usr/local/php/etc \
> --with-bz2 \
> --with-curl \
> --enable-ftp \
> --enable-sockets \
> --disable-ipv6 \
> --with-gd \
> --with-jpeg-dir=/usr/local \
> --with-png-dir=/usr/local \
> --with-freetype-dir=/usr/local \
> --enable-gd-native-ttf \
> --with-iconv-dir=/usr/local \
> --enable-mbstring \
> --enable-calendar \
> --with-gettext --with-libxml-dir=/usr/local \
> --with-zlib \
> --with-pdo-mysql=mysqlnd \
> --with-mysqli=mysqlnd \
> --with-mysql=mysqlnd \
> --enable-dom \
> --enable-xml \
> --enable-fpm \
> --with-libdir=lib64

♦编译安装

[root@localhost php-7.1.27]# make && make install

♦配置PHP

cp php.ini-production /usr/local/php/etc/php.ini
[root@localhost php-7.1.27]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

♦参数配置PHP(zabbix硬性要求)

vim /usr/local/php/etc/php.ini

max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Asia/Shanghai

♦启动php-fpm

[root@localhost php-7.1.27]# mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@localhost php-7.1.27]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

♦确定php启动

[root@localhost php-7.1.27]# ss -lnt | grep 9000
LISTEN 0 128 127.0.0.1:9000 *:*

♦配置nginx配置文件,供测试php,以及zabbix页面配置

[root@localhost php-7.1.27]# cat /usr/local/nginx/conf/nginx.conf

#user  nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; access_log /usr/local/nginx/logs/host.access.log main;
root /var/www/html;
index index.htm index.html index.php;
location / {
try_files $uri $uri/ /index.php?$args;
} location ~ .*\.(php)?$ {
expires -1s;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
} # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

♦检测一下,并启动

[root@localhost php-7.1.27]# /usr/local/nginx/sbin/nginx -t
[root@localhost php-7.1.27]# /usr/local/nginx/sbin/nginx

♦测试php页面

[root@localhost php-7.1.27]# cat /var/www/html/info.php
<?php
phpinfo();
?>

♦测试php

[root@localhost php-7.1.27]# curl 127.0.0.1/info.php

→安装mysql数据库

♦安装前准备

[root@localhost soft]# rpm -qa | grep mariadb

[root@localhost soft]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

[root@localhost soft]# rpm -e --nodeps mariadb-5.5.60-1.el7_5.x86_64

[root@localhost soft]# rpm -e --nodeps mariadb-server-5.5.60-1.el7_5.x86_64

♦安装依赖

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison

♦将解压的boost_1_59_0移动

mv boost_1_59_0 /usr/local/boost

♦新建MySQL用户和用户组,创建/data/mysql 目录存放mysql数据

[root@localhost soft]# groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
[root@localhost soft]# mkdir -pv /data/mysql

♦预编译

[root@node03 mysql-5.7.17]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock\
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \

♦编译安装

[root@localhost mysql-5.7.25]# make && make install

♦目录授权

[root@localhost mysql-5.7.25]# chown -R root.mysql /usr/local/mysql/
[root@localhost mysql-5.7.25]# chown -R root.mysql /data/mysql/

♦初始化数据库

[root@localhost mysql-5.7.25]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

♦配置mysql配置文件

[root@localhost mysql-5.7.25]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
port=3306
socket=/data/mysql/mysql.sock

♦启动mysql服务

[root@localhost mysql-5.7.25]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@localhost mysql-5.7.25]# ss -lnt | grep 3306
LISTEN 0 80 :::3306 :::*

♦连接数据库出现问题

[root@localhost mysql-5.7.25]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock-DENABLED_LOCAL_INFILE=1' (2)

解决方法

[root@localhost mysql-5.7.25]# ln -s /data/mysql/mysql.sock /data/mysql/mysql.sock-DENABLED_LOCAL_INFILE=1

♦改mysql密码

[root@localhost mysql-5.7.25]# /usr/local/mysql/bin/mysql -u root -p
Enter password: mysql> alter user 'root'@'localhost' identified by 'WWW.1.com';
mysql> flush privileges;

♦设置源码mysql服务开机自启动

[root@localhost mysql-5.7.25]# vim /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe --user=mysql & [root@localhost mysql-5.7.25]# chmod a+x /etc/rc.d/rc.local

♦复制mysql服务启动脚本

[root@localhost mysql-5.7.25]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.7.25]# chmod a+x /etc/init.d/mysqld
[root@localhost mysql-5.7.25]# chkconfig --add mysqld
[root@localhost mysql-5.7.25]# chkconfig --level 2345 mysqld on

♦测试启动脚本状态

[root@localhost mysql-5.7.25]# service mysqld status
SUCCESS! MySQL running (20020)
[root@localhost mysql-5.7.25]# service mysqld stop
Shutting down MySQL.2019-03-16T17:02:05.231334Z mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
SUCCESS!
[1]+ 完成 /usr/local/mysql/bin/mysqld_safe --user=mysql
[root@localhost mysql-5.7.25]# ss -lnt | grep 3306
[root@localhost mysql-5.7.25]# service mysqld start
Starting MySQL. SUCCESS!
[root@localhost mysql-5.7.25]# ss -lnt | grep 3306
LISTEN 0 80 :::3306 :::*

安装zabbix

♦创建账号,为安全起见禁止登录

[root@localhost mysql]# groupadd zabbix
[root@localhost mysql]# useradd -g zabbix -s /sbin/nologin zabbix

♦预编译

[root@localhost zabbix-4.0.5]# ./configure  --prefix=/usr/local/zabbix \
> --enable-server \
> --with-mysql \
> --enable-agent

♦报错

configure: error: MySQL library not found

解决

yum install mysql-devel -y

♦报错

configure: error: Unable to use libevent (libevent check failed)

解决

yum install libevent-devel  -y

♦出现下面说明预编译成功

***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************

♦编译安装

make && make install

♦将php脚本复制到html目录下

[root@localhost zabbix-4.0.5]# cp -r frontends/php/* /var/www/html/

♦该权限

[root@localhost zabbix-4.0.5]# chmod -R 777 /var/www/html

♦登陆数据库并创建zabbix库,跟zabbix用户

mysql> create database zabbix character set utf8;
mysql> flush privileges;

♦按顺序导入zabbix自带的数据库

[root@localhost zabbix-4.0.5]# /usr/local/mysql/bin/mysql -uroot -pWWW.1.com zabbix < database/mysql/schema.sql
[root@localhost zabbix-4.0.5]# /usr/local/mysql/bin/mysql -uroot -pWWW.1.com zabbix < database/mysql/images.sql
[root@localhost zabbix-4.0.5]# /usr/local/mysql/bin/mysql -uroot -pWWW.1.com zabbix < database/mysql/data.sql

♦配置zabbix

LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=root
DBPassword=WWW.1.com
DBSocket=/data/mysql/mysql.sock
DBPort=3306
Timeout=4
LogSlowQueries=3000

♦zabbix页面配置报错

解决方法

cd /soft/php-7.1.27/ext/mysqli
/usr/local/php/bin/phpize
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
make
make install
vim /usr/local/php/etc/php.ini
extension=mysqli.so killall php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini
[root@localhost bcmath]# /usr/local/php/bin/phize
[root@localhost bcmath]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost bcmath]# make
[root@localhost bcmath]# make install
[root@localhost bcmath]# vim /usr/local/php/etc/php.ini
extension=bcmath.so [root@localhost bcmath]# killall php-fpm
[root@localhost bcmath]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

zabbix,php,nginx,mysql源码安装 神仙操作的更多相关文章

  1. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  2. maridb\mysql 源码安装,以10.1.26版本为例

    mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...

  3. Nginx unit 源码安装初体验

    Nginx unit 源码安装初体验 上次介绍了从yum的安装方法(https://www.cnblogs.com/wang-li/p/9684040.html),这次将介绍源码安装,目前最新版为1. ...

  4. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  5. 编译nginx的源码安装subs_filter模块

    使用nginx的反向代理功能搭建nuget镜像服务器时,需要针对官方nuget服务器的响应内容进行字符串替换,比如将www.nuget.org替换为镜像服务器的主机名,将https://替换为http ...

  6. nginx 的源码安装

    安装nginx之前要做的准备工作有:安装如下库 (1)gzip模块需要 zlib 库 (2)rewrite模块需要 pcre 库 (3)ssl 功能需要openssl库 还有一种简单的方法就是 yum ...

  7. mysql源码安装(5.1)

    下载mysql源码包并解压.wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar -zxvf mysql-5 ...

  8. Linux(CentOS或RadHat)下MySQL源码安装

    安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake  :MySQL 5.5开始,使用cmake进 ...

  9. NFS, web,负载均衡,Nginx yum 源码安装

    作业一:nginx服务1.二进制安装nginx 2.作为web服务修改配置文件 3.让配置生效,验证配置  [root@localhost ~]# systemctl stop firewalld.s ...

随机推荐

  1. LeetCode专题-Python实现之第9题:Palindrome Number

    导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...

  2. PE知识复习之PE文件空白区添加代码

    PE知识复习之PE文件空白区添加代码 一丶简介 根据上面所讲PE知识.我们已经可以实现我们的一点手段了.比如PE的入口点位置.改为我们的入口位置.并且填写我们的代码.这个就是空白区添加代码. 我们也可 ...

  3. SmartSql = Dapper + MyBatis + Cache(Memory | Redis) + ZooKeeper + R/W Splitting + ......

    SmartSql Why 拥抱 跨平台 DotNet Core,是时候了. 高性能.高生产力,超轻量级的ORM.156kb (Dapper:168kb) So SmartSql TargetFrame ...

  4. linux集群自动化搭建(生成密钥对+分发公钥+远程批量执行脚本)

    之前介绍过ansible的使用,通过ssh授权批量控制服务器集群 但是生成密钥和分发公钥的时候都是需要确认密码的,这一步也是可以自动化的,利用ssh + expect + scp就可以实现,其实只用这 ...

  5. Spring Boot(六)集成 MyBatis 操作 MySQL 8

    一.简介 1.1 MyBatis介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集. ...

  6. 第12章 添加对外部认证的支持 - Identity Server 4 中文文档(v1.0.0)

    注意 对于任何先决条件(例如模板),首先要查看概述. 接下来,我们将添加对外部认证的支持.这非常简单,因为您真正需要的是ASP.NET Core兼容的身份验证处理程序. ASP.NET Core本身支 ...

  7. DAL分页

    using System;using System.Collections.Generic;using LModel.DTO;using Newtonsoft.Json;using System.Da ...

  8. VS Code调试.Net Core版Hello World

    安装C#插件 下载安装插件,地址:https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp 安装插件之后重新启动VS C ...

  9. [python] 小游戏 - play_plane

    GitHub:https://github.com/liqingwen2015/play_plane 目前只做了第一部分:一个界面,有个飞机,可以左右移动,放子弹. 暂无计划做第二部分. alien_ ...

  10. Sqlserver UrlEncode

    Sqlserver  UrlEncode if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UrlEncode ...