1、CentOS55 安装 Nginx+PHP+MariaDBCentOS5.5 安装 Nginx+PHP+MariaDB(主备同步)0.前期准备(目录设定,yum安装相关依赖包)#/usr/local/安装目录#/data/src/源文件包目录#yuminstallgccgcc-c+automakeautoconflibtoolmakecmake1.安装nginx nginx依赖以下模块: rewrite模块需要 pcre 库 ssl 功能需要openssl库 gzip模块需要 zlib 库1.1安装pcre#tar-zxvfpcre-8.38.tar.gz#cdpcre-8.38#./conf
2、igure#make&makeinstall1.2安装openssl#tar-zxvfopenssl-1.0.1c.tar.gz#cdopenssl-1.0.1c#./config#make&makeinstall1.3安装zlib#tar-zxvfzlib-1.2.8.tar.gz#cdzlib-1.2.8#./configure#make&makeinstall1.4安装nginx先建立www用户组,www用户#groupaddwww#useradd-gwwwwww接着配置时,直接指定pcre,zlib,openssl的路径#tar-zxvfnginx-1.4.2.tar.gz#cdngi
3、nx-1.4.2#./configure-with-http_ssl_module-with-pcre=/data/src/pcre-8.38-with-zlib=/data/src/zlib-1.2.8-with-openssl=/data/src/openssl-1.0.1c#make&makeinstall没有报错的话,就说明安装成功了。接下来配置nginx。路径位于/usr/local/nginx/conf/nginx.conf,路径不同的话,可以用命令查找一下locate nginx.conf,贴上我的配置:nginx.confuserwwwwww;worker_processes1
4、0;pid/var/run/nginx.pid;worker_rlimit_nofile51200;eventsuseepoll;worker_connections51200;httpincludemime.types;default_typeapplication/octet-stream;server_names_hash_bucket_size128;client_header_buffer_size32k;large_client_header_buffers432k;server_tokensoff;expires1h;sendfileon;tcp_nopushon;keepali
5、ve_timeout60;tcp_nodelayon;error_page404/404.jpg;fastcgi_connect_timeout20;fastcgi_send_timeout30;fastcgi_read_timeout120;fastcgi_buffer_size256k;fastcgi_buffers8256k;fastcgi_busy_buffers_size256k;fastcgi_temp_file_write_size256k;fastcgi_temp_path/dev/shm;gzipon;gzip_min_length2048;gzip_buffers416k;
6、gzip_http_version1.1;gzip_typestext/plaintext/cssapplication/xmlapplication/x-javascript;log_formataccess$remote_addr-$remote_user$time_local$request$status$body_bytes_sent$http_referer$http_user_agent$http_x_forwarded_for;serverlisten80;server_namelocalhost;indexindex.htmlindex.htmindex.php;root/da
7、ta/www;charsetutf-8;expires2h;location.*.php$fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;includefastcgi_params;expiresoff;if($request_uri*(.svn|.swp)return404;access_logoff;测试配置文件是否正确配置文件没问题,确保系统的 80 端口没被其他程序占用,启动nginx#/usr/local/n
8、ginx/sbin/nginx-c/usr/local/nginx/conf/nginx.confps命令查看一下启动结果2.安装PHP安装php之前,先安装以下依赖包:#yum-yinstalllibmcrypt-develmhash-devellibxslt-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develc
9、urlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-devel接着安装#tar-zxvfphp-5.5.30.tar.gz#cdphp-5.5.30#./configure-prefix=/usr/local/php-with-config-file-path=/etc-with-mysql=mysqlnd-with-pdo-mysql=mysqlnd-with-mysqli=mysqlnd-with-iconv-dir=/usr/local/iconv-with-freetyp
10、e-dir-with-jpeg-dir-with-png-dir-enable-zip-with-zlib-with-gd-enable-pcntl-disable-debug-disable-rpath-enable-bcmath-enable-shmop-enable-sysvsem-enable-inline-optimization-with-curl-enable-mbregex-enable-mbstring-with-mcrypt-disable-ipv6-enable-static-enable-maintainer-zts-enable-sockets-enable-soap
11、-with-openssl-enable-fpm#make&makeinstall没有报错的话,就说明安装成功了。再接下来复制php.ini,php-fpm.conf到/etc/下并修改之:cp/data/src/php-5.5.30/php.ini-development/etc/php.inicp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.confphp.inidate.timezone=Asia/Shanghaiphp-fpm.confglobalpid=/var/run/php-fpm.piderr
12、or_log=log/php-fpm.logwwwuser=wwwgroup=wwwpm.max_children=256pm.start_servers=256pm.min_spare_servers=5pm.max_spare_servers=256OK,配置完成,启动php-fpm#/usr/local/php/sbin/php-fpm-c/etc/php.ini-y/usr/local/php/etc/php-fpm.confps命令查看一下启动结果至此,nginx和php都安装成功了,在/data/www/分别建立index.html,index.php,看是否能正常访问。3.安装m
13、ariaDB(主从同步)3.1建立mysql用户#groupadd-rmysql#useradd-gmysql-r-M-s/sbin/nologinmysql/这个mysql用户不能登录3.2安装主库,端口设置为3306#tar-zxvfmariadb-5.5.46.tar.gz#cdmariadb-5.5.46#cmake.-DMYSQL_UNIX_ADDR=/tmp/mysql1.sock-DSYSCONFDIR=/usr/local/db1-DMYSQL_TCP_PORT=3306-DEXTRA_CHARSETS=all-DMYSQL_USER=mysql-DCMAKE_INSTALL_
14、PREFIX=/usr/local/db1-DMYSQL_DATADIR=/home/data/db1-DWITH_XTRADB_STORAGE_ENGINE=1-DWITH_FEDERATEDX_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STPRAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWIYH_READLINE=1-DWIYH_SSL=
15、system-DVITH_ZLIB=system-DWITH_LOBWRAP=0-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci#make-j4#makeinstall复制配置文件#cp/usr/local/db1/support-files/my-f/usr/local/db1/f初始化数据库#/usr/local/db1/scripts/mysql_install_db-basedir=/usr/local/db1-datadir=/home/data/db1-user=mysql-defaults-file=/usr/lo
16、cal/db1/f复制服务启动脚本#cp/usr/local/db1/support-files/mysql.server/etc/init.d/mysql1编辑启动脚本mysql1(路径:/etc/init.d/mysql1)找到$bindir/mysqld_safe-datadir=$datadir-pid-file=$mysqld_pid_file_path$other_args/dev/null2&1&行,改为$bindir/mysqld_safe-defaults-file=/usr/local/db1/f-datadir=$datadir-pid-file=$mysqld_pid_
17、file_path$other_args/dev/null2&1&即添加了-defaults-file=/usr/local/db1/f赋予执行权限#chmod+x/etc/init.d/mysql1#chkconfigmysql1on修改配置文件f(路径:/usr/local/db1/f)mysqldlog-error=/var/log/mysql_error.logpid-file=/usr/local/db1/mysql1.piduser=mysqldatadir=/home/data/db1basedir=/usr/local/db1mysqld_safelog-error=/var/
18、log/mysql_error.logpid-file=/usr/local/db1/mysql1.pid更改目录权限#chown-Rmysql:mysql/home/data/db1#chown-Rmysql:mysql/home/data/db1/.#chown-Rmysql:mysql/usr/local/db1#chown-Rmysql:mysql/usr/local/db1/.启动MariaDB:#/etc/init.d/mysql1start设置root的密码#/usr/local/db1/bin/mysqladmin-urootpasswordroot3.3安装备库,端口设置为3
19、307重复3.2的步骤,把db1替换成db2,mysql1替换成mysql2,3306替换成3307,至此,主备库都安装好了,并且成功启动。ps命令查看结果如下:3.4设置主备同步建立文件目录,用于主备同步二进制文件存放,并设置权限#mkdir-p/home/data/binlogs/#chown-Rmysql:mysql/home/data/binlogs/修改主库配置文件f(路径:/usr/local/db1/f)mysqldlog-bin=/home/data/binlogs/master-bin#设置用于存放二进制文件的路径以及文件名(master-bin.000001)server-
20、id=1#主备库的id不能相同修改备库配置文件f(路径:/usr/local/db2/f)mysqld#log-bin=mysql-bin#注释掉这一行server-id=2#主备库的id不能相同重启主库,备库#/etc/init.d/mysql1restart#/etc/init.d/mysql2restart进入主库,建立backup用户(指定IP地址,用户名,密码,分配权限),并查看master状态。#/usr/local/db1/bin/mysql-uroot-prootMariaDB(none)CREATEUSERbackup127.0.0.1IDENTIFIEDBYroot;Mar
21、iaDB(none)GRANTRELOAD,LOCKTABLES,REPLICATIONCLIENT,REPLICATIONSLAVEON*.*TObackup127.0.0.1;MariaDB(none)FLUSHPRIVILEGES;MariaDB(none)SHOWMASTERSTATUS;+-+-+-+-+|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|+-+-+-+-+|master-bin.000002|245|+-+-+-+-+1rowinset(0.00sec)进入备库,进行设置。#/usr/local/db2/bin/mysql-ur
22、oot-prootMariaDB(none)CHANGEMASTERTOMASTER_HOST=127.0.0.1,MASTER_USER=backup,MASTER_PASSWORD=root,MASTER_PORT=3306,MASTER_LOG_FILE=master-bin.000002,MASTER_LOG_POS=245;MariaDB(none)STARTSLAVE;MariaDB(none)SHOWSLAVESTATUSG;*1.row*Slave_IO_State:WaitingformastertosendeventMaster_Host:127.0.0.1Master_U
23、ser:backupMaster_Port:3306Connect_Retry:60Master_Log_File:master-bin.000002Read_Master_Log_Pos:245Relay_Log_File:mysql2-relay-bin.000005Relay_Log_Pos:530Relay_Master_Log_File:master-bin.000002Slave_IO_Running:YesSlave_SQL_Running:YesReplicate_Do_DB:Replicate_Ignore_DB:Replicate_Do_Table:Replicate_Ig
24、nore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno:0Last_Error:Skip_Counter:0Exec_Master_Log_Pos:245Relay_Log_Space:1110Until_Condition:NoneUntil_Log_File:Until_Log_Pos:0Master_SSL_Allowed:NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key
25、:Seconds_Behind_Master:0Master_SSL_Verify_Server_Cert:NoLast_IO_Errno:0Last_IO_Error:Last_SQL_Errno:0Last_SQL_Error:Replicate_Ignore_Server_Ids:Master_Server_Id:11rowinset(0.00sec)说明:MASTER_HOST,指的是主库用于同步的IP地址,因为本演示主库备都在同一台机子,所以是127.0.0.1。这个IP地址要和主库所指的IP地一致backup127.0.0.1MASTER_USER,指的是主库用于同步的用户名,就是主库所设置的backupMASTER_PASSWORD,指的是主库用于同步的密码,rootMASTER_PORT,指的是主库用于同步的端口,3306MASTER_LOG_FILE,指的是主库用于同步的二进制文件名称,通过主库SHOW MASTER命令得到,FILE字段值MASTER_LOG_POS,指的是主库用于同步的二进制文件的偏移量,通过主库SHOW MASTER命令得到,Positi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1