1、安装 MySQL
1.1、安装 MySQL
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server
1.2、修改 MySQL 的配置文件
vim /etc/my.cnf
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
1.3、设置 MySQL 自动启动并启动 MySQL(CENTOS 7):
# systemctl start mysqld
# systemctl enable mysqld
1.4、设置 MySQL 安全选项
mysql_secure_installation
- NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE ! PLEASE READ EACH STEP CAREFULLY ! In order to log into MySQL to secure it,
- we'll need the current password
- for the root user. If you've just installed MySQL,
- and you haven't set the root password yet,
- the password will be blank,
- so you should just press enter here.Enter current password
- for root (enter
- for none) : OK,
- successfully used password,
- moving on...Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.Set root password ? [Y / n] Y New password: Re - enter new password: Password updated successfully ! Reloading privilege tables.. ... Success ! By
- default,
- a MySQL installation has an anonymous user,
- allowing anyone to log into MySQL without having to have a user account created
- for them. This is intended only
- for testing,
- and to make the installation go a bit smoother. You should remove them before moving into a production environment.Remove anonymous users ? [Y / n] Y ... Success ! Normally,
- root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.Disallow root login remotely ? [Y / n] n ... Success ! By
- default,
- MySQL comes with a database named 'test' that anyone can access. This is also intended only
- for testing,
- and should be removed before moving into a production environment.Remove test database and access to it ? [Y / n] Y - Dropping test database...ERROR 1008 (HY000) at line 1 : Can't drop database 'test'; database doesn't exist ... Failed ! Not critical,
- keep moving... - Removing privileges on test database... ... Success ! Reloading the privilege tables will ensure that all changes made so far will take effect immediately.Reload privilege tables now ? [Y / n] Y ... Success ! All done ! If you've completed all of the above steps,
- your MySQL installation should now be secure.Thanks
- for using MySQL ! Cleaning up...
1.5、创建 Zabbix 数据库
mysql -uroot -pkingdee
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.04 sec)
mysql> grant all privileges on zabbix.* to [email protected] identified by 'zabbix';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
2、安装 PHP
2.1、安装 PHP
先安装第三方组件:
yum -y groupinstall "Development Tools"
yum install libxml2* -y
yum install curl curl-devel
yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64
yum install libjpeg-devel
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar zxvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make install
再下载安装 PHP 5.5.38:
wget http://php.net/distributions/php-5.5.38.tar.gz
tar zxvf php-5.5.38.tar.gz
./configure --prefix=/usr/local/php-5.5.38 --with-config-file-path=/usr/local/php-5.5.38/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 --enable-bcmath
make
make install
- Installing shared extensions: / usr / local / php - 5.5.38 / lib / php / extensions / no - debug - non - zts - 20121212 / Installing PHP CLI binary: / usr / local / php - 5.5.38 / bin / Installing PHP CLI man page: / usr / local / php - 5.5.38 / php / man / man1 / Installing PHP FPM binary: / usr / local / php - 5.5.38 / sbin / Installing PHP FPM config: / usr / local / php - 5.5.38 / etc / Installing PHP FPM man page: / usr / local / php - 5.5.38 / php / man / man8 / Installing PHP FPM status page: / usr / local / php - 5.5.38 / php / php / fpm / Installing PHP CGI binary: / usr / local / php - 5.5.38 / bin / Installing PHP CGI man page: / usr / local / php - 5.5.38 / php / man / man1 / Installing build environment: / usr / local / php - 5.5.38 / lib / php / build / Installing header files: / usr / local / php - 5.5.38 / include / php / Installing helper programs: / usr / local / php - 5.5.38 / bin / program: phpize program: php - config Installing man pages: / usr / local / php - 5.5.38 / php / man / man1 / page: phpize.1 page: php - config.1 Installing PEAR environment: / usr / local / php - 5.5.38 / lib / php / [PEAR] Archive_Tar - installed: 1.4.0[PEAR] Console_Getopt - installed: 1.4.1[PEAR] Structures_Graph - installed: 1.1.1[PEAR] XML_Util - installed: 1.3.0[PEAR] PEAR - installed: 1.10.1 Wrote PEAR system config file at: / usr / local / php - 5.5.38 / etc / pear.conf You may want to add: / usr / local / php - 5.5.38 / lib / php to your php.ini include_path / root / php - 5.5.38 / build / shtool install - c ext / phar / phar.phar / usr / local / php - 5.5.38 / bin ln - s - f phar.phar / usr / local / php - 5.5.38 / bin / phar Installing PDO headers: / usr / local / php - 5.5.38 / include / php / ext / pdo /
cp php.ini-production /usr/local/php-5.5.38/etc/php.ini
cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/php-5.5.38/etc/php-fpm.conf
vim /usr/local/php-5.5.38/etc/php.ini
post_max_size=16M
max_execution_time=300
max_input_time=300
date.timezone=Asia/Shanghai
always_populate_raw_post_data=1
启动 PHP
/usr/local/php-5.5.38/sbin/php-fpm
3、安装 NGINX
yum install pcre*
yum install openssl*
mkdir -p /data/logs/nginx/
mkdir -p /data/site/centos7/
编译安装:
wget http://nginx.org/download/nginx-1.13.3.tar.gz
tar zxvf nginx-1.13.3.tar.gz
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre
make
make install
其它安装方法:(可选)
rpm 安装:
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
启动,停止
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s stop
重置:当你有修改配置文件的时候,只需要 reload 一下即可
/usr/local/nginx/sbin/nginx -s reload
4、配置 nginx php 互通
在 nginx.conf 的 http 断中加上如下内容:(注意把原值注释掉)
vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name centos7;
access_log /data/logs/nginx/centos7.access.log;
index index.php index.html index.html;
root /data/site/centos7;
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;
}
}
建立测试文件
vim /data/site/centos7/info.php
<?php
phpinfo();
>
3. 访问测试
curl http://centos7/info.php test php
注:nginx 将会连接回环地址 9000 端口执行 PHP 文件, 需要使用 tcp/ip 协议, 速度比较慢. 建议大家换成使用 socket 方式连接。将 fastcgi_pass 127.0.0.1:9000; 改成 fastcgi_pass unix:/var/run/php5fpm.sock;
1、首行,在配置文件 / usr/local/php-5.5.38/etc/php-fpm.conf 文件中找到
listen = 127.0.0.1:9000
修改为:
listen = /var/run/php5fpm.sock
listen.mode=0666
然后,重启 php-fpm
2、接着,配置 nginx
在 / usr/local/nginx/conf/nginx.conf 中找到
fastcgi_pass 127.0.0.1:9000;
修改为:
fastcgi_pass unix: /var/run/php5fpm.sock;
授权然后重启 PHP:
chmod 777 /var/run/php5fpm.sock
重启 nginx:
注意,不关闭 SELINUX 可能导致无法启动 HTTP 服务,参考下面方案关闭:
1、临时关闭(不用重启机器):
setenforce 0 ## 设置 SELinux 成为 permissive 模式
##setenforce 1 设置 SELinux 成为 enforcing 模式
2、修改配置文件需要重启机器:
修改 / etc/selinux/config 文件
将 SELINUX=enforcing 改为 SELINUX=disabled
重启机器即可
5、安装 zabbix server
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.2.6/zabbix-3.2.6.tar.gz
tar -zxvf zabbix-3.2.0.tar.gz
groupadd zabbix
useradd -g zabbix zabbix
yum install mysql-devel
yum install net-snmp-devel
./configure --prefix=/usr/local/zabbix-3.2/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
结果如下:
- Configuration: Detected OS: linux - gnu Install path: / usr / local Compilation arch: linux Compiler: gcc Compiler flags: - g - O2 Library - specific flags: database: - I / usr / include / mysql - g - m64 - fPIC - g - fabi - version = 2 - fno - omit - frame - pointer - fno - strict - aliasing libXML2: - I / usr / include / libxml2 Net - SNMP: - I / usr / local / include - I / usr / lib64 / perl5 / CORE - I. - I / usr / include Enable server: yes Server details: With database: MySQL web Monitoring: cURL Native Jabber: no SNMP: yes IPMI: no SSH: no TLS: no ODBC: no Linker flags: - L / usr / lib64 / mysql - L / usr / lib64 - rdynamic Libraries: - lmysqlclient - lxml2 - lnetsnmp - lcurl - lm - ldl - lresolv Enable proxy: no Enable agent: yes Agent details: TLS: no Linker flags: - rdynamic Libraries: - lcurl - lm - ldl - lresolv Enable Java gateway: no LDAP support: no IPv6 support: no * *********************************************************** Now run 'make install' * * * * Thank you
- for using Zabbix ! * * < http: //www.zabbix.com> *
- * **********************************************************
make
make install
导入表:
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
上述导库请务必注意顺序,否则会出现错误:
ERROR 1146 (42S02) at line 2: Table 'zabbix.hosts' doesn't exist
配置 zabbix_server 配置文件: vim /usr/local/zabbix-3.2/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
5.1 拷贝前端文件
mkdir /data/site/centos7/zabbix
cp -rp frontends/php/* /data/site/centos7/zabbix
启动 zabbix server
/usr/local/zabbix-3.2/sbin/zabbix_server
启动 nginx
/usr/local/nginx/sbin/nginx
启动 PHP
/usr/local/php-5.5.38/sbin/php-fpm
6、其它相关设置及错误解决
做本机 HOTS 解析
vim /etc/hosts
systemctl stop firewalld.service #停止 firewall
systemctl disable firewalld.service #禁止 firewall 开机启动
写 zabbix_server 服务文件:
vim /lib/systemd/system/zabbix_server.service
[Unit]
Description= zabbix_server
After=network.target
[Service]
Type=forking
ExecStart= /usr/local/zabbix-3.2/sbin/zabbix_server
ExecReload=
ExecStop=
PrivateTmp=true
[Install]
WantedBy=multi-user.target
写 Nginx 服务文件:
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -r reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
写 PHP 服务文件:
先启用 PHP 的 PID 文件
vim /usr/local/php-5.5.38/etc/php-fpm.conf
pid =/run/php-fpm.pid
再写 PHP 服务文件
vim /lib/systemd/system/php.service
[Unit]
Description=php
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php-5.5.38/sbin/php-fpm
ExecReload=/usr/local/php-5.5.38/sbin/php-fpm -USR2 `cat 'run/php-fpm.pid'
ExecStop=/usr/local/php-5.5.38/sbin/php-fpm -INT `cat 'run/php-fpm.pid'
PrivateTmp=true
[Install]
WantedBy=multi-user.target
完成后, 授权、启动服务、设置服务自动启动:
chmod 754 /lib/systemd/system/zabbix_server.service
chmod 754 /lib/systemd/system/nginx.service
chmod 754 /lib/systemd/system/php.service
systemctl start zabbix_server
systemctl start php
systemctl start nginx
systemctl start zabbix_server
systemctl enable php
systemctl enable nginx
systemctl enable zabbix_server
以后如何修改了服务文件,需要使用 systemctl daemon-reload 重新加载下服务。
如果少安装了 PHP 的扩展,以 bcmath 为例:
先安装
yum install php-bcmath
再参考下面方案添加扩展:
http://blog.csdn.net/u014642915/article/details/60868280
PHP 连接 MySQL 报错"No such file or directory"的解决办法
http://www.linuxidc.com/Linux/2012-12/76150.htm
zabbix_server 日志(默认位置)
cat /tmp/zabbix_server.log
很多时间权限会导致一些问题(比如 NGINX 安装向导要向网站中写入配置文件 /data/site/centos7/zabbix/conf/zabbix.conf.php),需要对 CONF 目录授权:
chmod -R 777 /data/site/centos7/zabbix/conf
安装后设置服务器:
7、安装 Zabbix Agent
7.1、下载相关的软件包
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm
7.2、安装 Zabbix Agent
yum localinstall zabbix-agent-3.2.6-1.el7.x86_64.rpm
7.3、修改 Zabbix Agent 配置
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.90.127
7.4、设置 Zabbix Agent 自动启动并启动 Zabbix Agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
来源: http://www.bubuko.com/infodetail-2217860.html