服务器及系统环境
[root@zabbix ~]# cat /etc/redhat-release;uname -r;uname -m CentOS Linux release 7.5.1804 (Core) 3.10.0-862.el7.x86_64 x86_64 [root@zabbix ~]# firewall-cmd --state not running [root@zabbix ~]# getenforce Disabled [root@zabbix ~]# ifconfig ens33|awk -F " " 'NR==2{print $2}' 10.0.0.51 [root@zabbix ~]# ifconfig ens34|awk -F " " 'NR==2{print $2}' 172.16.1.51 [root@zabbix ~]# ping www.baidu.com|head -2 PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=104 ms [root@zabbix ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 45G 1.2G 43G 3% / devtmpfs 901M 0 901M 0% /dev tmpfs 911M 0 911M 0% /dev/shm tmpfs 911M 9.6M 902M 2% /run tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sdb1 100G 33M 100G 1% /data /dev/sda1 2.0G 134M 1.9G 7% /boot tmpfs 183M 0 183M 0% /run/user/0 [root@zabbix ~]# free -h total used free shared buff/cache available Mem: 3.7G 108M 3.4G 11M 167M 3.4G Swap: 3.9G 0B 3.9G
相关软件获取
链接:https://pan.baidu.com/s/1QfuPmFIO2VqVqmDD0O2ptg 提取码:t07r
mysql编译安装
#安装相关的依赖 [root@zabbix ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@zabbix ~]# yum install -y gcc gcc-c++ bison ncurses ncurses-devel numactl zlib libxml2 openssl libaio libstdc++-devel [root@zabbix ~]# rpm -qa gcc gcc-c++ bison ncurses ncurses-devel numactl zlib libxml2 openssl libaio libstdc++-devel gcc-4.8.5-36.el7_6.2.x86_64 ncurses-devel-5.9-14.20130511.el7_4.x86_64 ncurses-5.9-14.20130511.el7_4.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 zlib-1.2.7-18.el7.x86_64 openssl-1.0.2k-16.el7_6.1.x86_64 libstdc++-devel-4.8.5-36.el7_6.2.x86_64 numactl-2.0.9-7.el7.x86_64 libaio-0.3.109-13.el7.x86_64 gcc-c++-4.8.5-36.el7_6.2.x86_64 bison-3.0.4-2.el7.x86_64 #创建mysql用户不让其登录 [root@zabbix tools]# useradd -s /sbin/login -M mysql [root@zabbix ~]# id mysql uid=1000(mysql) gid=1000(mysql) groups=1000(mysql) #创建相关的目录 [root@zabbix tools]# mkdir /data/apps /data/mysql/3306/{binlog,errlog,slowlog,data} -p [root@zabbix tools]# ls -ld /data/apps/ drwxr-xr-x 2 root root 6 Sep 18 09:00 /data/apps/ [root@zabbix tools]# tree /data/mysql/ /data/mysql/ └── 3306 #表示3306实例 ├── binlog #存放二进制日志 ├── data #存放3306实例的数据文件 ├── errlog #错误日志 └── slowlog #慢查询日志 5 directories, 0 files #上传软件并解压 [root@zabbix ~]# cd /root/tools/ [root@zabbix ~]# rz [root@zabbix tools]# ll mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -rw-r--r-- 1 root root 643790848 Nov 20 2018 mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz [root@zabbix tools]# tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /data/apps/ #做软链接--授权属主/组为mysq--配置环境变量 [root@zabbix tools]# ln -sv /data/apps/mysql-5.7.22-linux-glibc2.12-x86_64/ /data/apps/mysql ‘/data/apps/mysql’ -> ‘/data/apps/mysql-5.7.22-linux-glibc2.12-x86_64/’ [root@zabbix tools]# chown -R mysql:mysql /data/apps/mysql/ [root@zabbix tools]# ls -ld /data/apps/mysql/bin drwxr-xr-x 2 mysql mysql 4096 Sep 17 13:44 /data/apps/mysql/bin [root@zabbix tools]# echo "PATH=/data/apps/mysql/bin:$PATH" >>/etc/bashrc [root@zabbix tools]# source /etc/bashrc [root@zabbix tools]# which mysql /data/apps/mysql/bin/mysql #配置快捷命令 [root@zabbix tools]# ls -ld /data/mysql/3306 drwxr-xr-x 6 root root 61 Sep 17 13:43 /data/mysql/3306 [root@zabbix tools]# echo "alias dir3306='cd /data/mysql/3306'" >>/etc/bashrc [root@zabbix tools]# source /etc/bashrc [root@zabbix tools]# alias dir3306 alias dir3306='cd /data/mysql/3306' #上传事先准备好的配置文件和启动脚本 [root@zabbix tools]# dir3306 [root@zabbix 3306]# pwd /data/mysql/3306 [root@zabbix 3306]# rz [root@zabbix 3306]# chmod 700 mysqld [root@zabbix 3306]# ll my* -rw-r--r-- 1 root root 2575 Sep 17 13:56 my.cnf -rwx------ 1 root root 1897 Dec 8 2018 mysqld #创建错误日志并更改/data/mysql/目录的属主和属组 [root@zabbix 3306]# grep "errlog" my.cnf log_error=/data/mysql/3306/errlog/mysql_error.log [root@zabbix 3306]# touch /data/mysql/3306/errlog/mysql_error.log [root@zabbix 3306]# ll /data/mysql/3306/errlog/mysql_error.log -rw-r--r-- 1 root root 0 Sep 17 13:58 /data/mysql/3306/errlog/mysql_error.log [root@zabbix 3306]# chown -R mysql:mysql /data/mysql/ [root@zabbix 3306]# ls -ld /data/mysql/ drwxr-xr-x 3 mysql mysql 18 Sep 17 13:43 /data/mysql/ #初始化3306实例 [root@zabbix ~]# mysqld --defaults-file=/data/mysql/3306/my.cnf --user=mysql --basedir=/data/apps/mysql --datadir=/data/mysql/3306/data/ --initialize [root@zabbix ~]# echo $? 0 #启动mysql服务 [root@zabbix ~]# /data/mysql/3306/mysqld start Start MySQL [3306] [ OK ] [root@zabbix ~]# lsof -i :3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 10933 mysql 23u IPv6 124189 0t0 TCP *:mysql (LISTEN) #设置mysql的root@localhos用户的密码为chenliang(为啥设置成chenliang, #是因为mysqld启动脚本中用的就是root@localhost用户来启停服务) [root@zabbix ~]# grep -i "password" /data/mysql/3306/errlog/mysql_error.log 2019-09-17T14:11:50.980850-05:00 1 [Note] A temporary password is generated for root@localhost: uZx0jkEHuu-o [root@zabbix ~]# mysql -uroot -p -S /data/mysql/3306/mysql.sock Enter password: mysql> alter user 'root'@'localhost' identified by 'chenliang'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye #加入开机自启动 [root@zabbix 3306]# chmod 700 /etc/rc.d/rc.local [root@zabbix 3306]# ll /etc/rc.d/rc.local -rwx------. 1 root root 566 Sep 18 09:06 /etc/rc.d/rc.local [root@zabbix 3306]# echo -ne "\n# Boot start mysql service[3306] USER:chenliang TIME:20190920\n/data/mysql/3306/mysqld start\n" >>/etc/rc.local [root@zabbix 3306]# tail -2 /etc/rc.local # Boot start mysql service[3306] USER:chenliang TIME:20190920 /data/mysql/3306/mysqld start
nginx编译安装
#创建www用户,不让其登录,不让其有空目录 [root@zabbix ~]# useradd -s /sbin/nologin -M www [root@zabbix ~]# id www uid=1001(www) gid=1001(www) groups=1001(www) #安装nginx相关依赖包 [root@zabbix ~]# yum install gcc gcc++ wget pcre-devel openssl-devel -y [root@zabbix ~]# rpm -qa gcc gcc++ wget pcre-devel openssl-devel gcc-4.8.5-36.el7_6.2.x86_64 wget-1.14-18.el7_6.1.x86_64 pcre-devel-8.32-17.el7.x86_64 openssl-devel-1.0.2k-16.el7_6.1.x86_64 #下载nginx软件并进行安装 [root@zabbix tools]# pwd /root/tools [root@zabbix tools]# wget http://nginx.org/download/nginx-1.16.1.tar.gz [root@zabbix tools]# ll nginx-1.16.1.tar.gz -rw-r--r-- 1 root root 1032630 Aug 13 13:01 nginx-1.16.1.tar.gz [root@zabbix tools]# tar xf nginx-1.16.1.tar.gz [root@zabbix tools]# cd nginx-1.16.1 [root@zabbix nginx-1.16.1]# ./configure --prefix=/data/apps/nginx-1.6.1 --user=www --group=www --with-http_ssl_module --with-stream --with-http_stub_status_module [root@zabbix nginx-1.16.1]# make && make install [root@zabbix nginx-1.16.1]# ln -sv /data/apps/nginx-1.6.1/ /data/apps/nginx ‘/data/apps/nginx’ -> ‘/data/apps/nginx-1.6.1/ [root@zabbix nginx-1.16.1]# chown -R www:www /data/apps/nginx/ [root@zabbix nginx-1.16.1]# ls -ld /data/apps/nginx/ drwxr-xr-x 6 www www 54 Sep 17 05:12 /data/apps/nginx/ #配置环境 [root@zabbix tools]# ls -ld /data/apps/nginx/sbin drwxr-xr-x 2 www www 19 Sep 17 05:12 /data/apps/nginx/sbin [root@zabbix tools]# echo "PATH=/data/apps/nginx/sbin:$PATH" >>/etc/bashrc [root@zabbix tools]# source /etc/bashrc [root@zabbix tools]# which nginx /data/apps/nginx/sbin/nginx #配置nginx的启动脚本 01:复制https://www.cnblogs.com/chenliangc/articles/11480241.html中的脚本内容 02:vim /etc/init.d/nginxd,把复制的内存粘贴进去,保存并退出 03:添加权限,chmod 700 /etc/init.d/nginxd #启动nginx服务 [root@zabbix ~]# /etc/init.d/nginxd start Starting nginxd (via systemctl): [ OK ] [root@zabbix ~]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 18630 root 6u IPv4 43353 0t0 TCP *:http (LISTEN) nginx 18632 www 6u IPv4 43353 0t0 TCP *:http (LISTEN) #添加到开机自启动 [root@zabbix ~]# echo -ne "\n#Boot start nginx service[80] USER:chenliang TIME:2019-09-17\n/etc/init.d/nginxd start\n" >>/etc/rc.local [root@zabbix ~]# tail -2 /etc/rc.local #Boot start nginx service[80] USER:chenliang TIME:2019-09-17 /etc/init.d/nginxd start #访问nginx,只取状态码 [root@zabbix ~]# curl -l -s -o /dev/null -w "%{http_code}" http://localhost:80 200
php编译安装
#安装相关的依赖包 [root@zabbix ~]# yum install -y gcc gcc-c++ make pcre pcre-devel openssl openssl-devel libxml2 libxml2-devel zlib-devel libcurl libcurl-devel freetype freetype-devel libjpeg-turbo-devel libpng-devel libzip gd-devel libxslt-devel #安装openldap-devel.i686(解决编译错误configure: error: Cannot find ldap.h) [root@zabbix ~]# yum -y install openldap-devel.i686 openldap openldap-devel [root@zabbix ~]# \cp -a /usr/lib64/libldap* /usr/lib/ #安装mhash mcrypt libmcrypt-devel依赖包 [root@zabbix ~]# yum install libmcrypt-devel mhash mcrypt -y [root@zabbix ~]# rpm -qa libmcrypt-devel mhash mcrypt mcrypt-2.6.8-11.el7.x86_64 mhash-0.9.9.9-10.el7.x86_64 libmcrypt-devel-2.5.8-13.el7.x86_64 #做相关软链接 [root@zabbix php-5.6.40]# ln -sv /data/apps/mysql/lib/libmysqlclient.so.20 /usr/lib64/ '/usr/lib64/libmysqlclient.so.20’ -> ‘/data/apps/mysql/lib/libmysqlclient.so.20’ echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf ldconfig -v #下载php软件并解压 cd /root/tools wget https://www.php.net/distributions/php-5.6.40.tar.gz ll php-5.6.40.tar.gz tar xf php-5.6.40.tar.gz cd php-5.6.40 #编译安装php ./configure \ --prefix=/data/apps/php-5.6.40 \ --with-config-file-path=/data/apps/php-5.6.40/etc \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=/data/apps/mysql \ --with-mysqli=/data/apps/mysql/bin/mysql_config \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --with-curl \ --with-gd \ --with-mcrypt \ --with-openssl \ --with-ldap \ --with-ldap-sasl \ --with-xmlrpc \ --with-gettext \ --with-xsl \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-sockets \ --enable-zip \ --enable-soap \ --enable-gd-native-ttf \ --enable-fpm \ --enable-ftp \ --enable-ctype \ --enable-short-tags \ --enable-static \ --enable-gd-native-ttf \ --enable-opcache=no \ --disable-fileinfo make && make install #做软链接并授权属主和属组为www [root@zabbix php-5.6.40]# ln -sv /data/apps/php-5.6.40 /data/apps/php '/data/apps/php’ -> ‘/data/apps/php-5.6.40’ [root@zabbix php-5.6.40]# chown -R www:www /data/apps/php/ [root@zabbix php-5.6.40]# ls -ld /data/apps/php/ drwxr-xr-x 9 www www 88 Sep 17 11:49 /data/apps/php/ #拷贝php.ini文件【是在源码包里面拷贝哈】 [root@zabbix php-5.6.40]# cp php.ini-production /data/apps/php/etc/php.ini [root@zabbix php-5.6.40]# ll /data/apps/php/etc/php.ini -rw-r--r-- 1 www www 73685 Sep 17 11:58 /data/apps/php/etc/php.ini #拷贝php-fpm.conf配置文件【把默认的复制一份改个名字】 [root@zabbix etc]# cp -a /data/apps/php/etc/php-fpm.conf.default /data/apps/php/etc/php-fpm.conf [root@zabbix etc]# ll /data/apps/php/etc/php-fpm.conf -rw-r--r-- 1 www www 23107 Sep 17 11:49 /data/apps/php/etc/php-fpm.conf #配置环境变量 [root@zabbix ~]# echo "PATH=/data/apps/php/sbin:$PATH" >>/etc/bashrc [root@zabbix ~]# source /etc/bashrc [root@zabbix ~]# which php-fpm /data/apps/php/sbin/php-fpm #检查并加入到systemctl中 [root@zabbix ~]# php-fpm -t [17-Sep-2019 13:02:52] NOTICE: configuration file /data/apps/php-5.6.40/etc/php-fpm.conf test is successful [root@zabbix ~]# cat /usr/lib/systemd/system/php-fpm.service [Unit] Description=php-fpm After=network.target [Service] Type=forking ExecStart=/data/apps/php/sbin/php-fpm [Install] WantedBy=multi-user.target [root@zabbix systemd]# systemctl start php-fpm [root@zabbix systemd]# lsof -i :9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php-fpm 4737 root 7u IPv4 106993 0t0 TCP localhost:cslistener (LISTEN) php-fpm 4738 nobody 0u IPv4 106993 0t0 TCP localhost:cslistener (LISTEN) php-fpm 4739 nobody 0u IPv4 106993 0t0 TCP localhost:cslistener (LISTEN) #加入开机自启动 [root@zabbix php-5.6.40]# echo -ne "\n# Boot start php-fpm service[9000]. USER:chenliang TIME:20190920\nsystemctl start php-fpm\n" >>/etc/rc.local [root@zabbix php-5.6.40]# tail -2 /etc/rc.local # Boot start php-fpm service[9000]. USER:chenliang TIME:20190920 systemctl start php-fpm