zabbix,php,nginx,mysql源码安装 神仙操作
→软件包
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