重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
本次試驗用了兩個web,一個php和MySQL web1,2 (172.16.31.30,31.31)nfs 172.16.31.34
成都創新互聯專注于仲巴網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供仲巴營銷型網站建設,仲巴網站制作、仲巴網頁設計、仲巴網站官網定制、重慶小程序開發服務,打造仲巴網絡公司原創品牌,更為您提供仲巴網站排名全網營銷落地服務。
php 172.16.31.32 mysql 172.16.31.32
構建如圖所示
1,搭建web
首先# mount -t nfs 172.16.31.34:/mydata/mydata 掛載nfs
此次編譯和上篇LAMP中web所用的版本是一個版本,編譯步驟相同
1)下載apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.9.tar.bz2 這三個包,依次解壓,
# tar xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make && make install
2) 編譯安裝apr-util
# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
3)編譯安裝httpd-2.4.9
# tar xf httpd-2.4.9.tar.bz2
# cd httpd-2.4.9
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install
兩臺都是做如此操作,然后修改PATH環境變量
echo "export PATH=/usr/local/apach/bin:$PATH">> /etc/profile.d/httpd.sh
讓PATH在當前shell生效并且啟動服務
source /etc/profile.d/httpd.sh
apachectl start
# vim /etc/httpd/httpd.con
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 需啟用的兩個模塊
LoadModule proxy_module modules/mod_proxy.so
ServerName www.caoshujia.com:80
ProxyRequests off 關閉正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.2.11:9000/mydata/$1 只要是php文件都使用fcgi協議代理到php DirectoryIndex index.html index.php 添加默認請求文件 AddType application/x-httpd-php .php 在 AddType application/x-httpd-php-source .phps # httpd -t # apache restart 2 php編譯安裝 1)事先需要安裝幾個包組,如果安裝,無需安裝 # yum -y groupinstall "Desktop Platform Development" # yum -y install bzip2-devel # yum -y install libmcrypt-devel 2)編譯安裝 # tar xf php-5.4.26.tar.bz2 # cd php-5.4.26 #./configure --prefix=/usr/local/php --with-mysql --with-mysqli --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --enable-sockets --enable-fpm --with-bz2 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-mcrypt # make && make install 3)為php提供配置文件: # cp php.ini-production /etc/php.ini 4)配置php-fpm 為php-fpm提供SysV init腳本,并將其添加至服務列表: # cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm # chmod +x /etc/rc.d/init.d/php-fpm # chkconfig --add php-fpm # chkconfig php-fpm on 為php-fpm提供配置文件: # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 編輯php-fpm的配置文件: # vim /usr/local/php/etc/php-fpm.conf 配置fpm的相關選項為你所需要的值,并啟用pid文件(如下最后一行): pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pid = /usr/local/php/var/run/php-fpm.pid 指定php的PID文件所在位置。這條一定要寫在[global]下面第一行,不然不會生效。 接下來就可以啟動php-fpm了: # service php-fpm start 檢測監聽端口 # netstat -tnlp | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 689/php-fpm [root@localhost php-5.4.26]# service php start [root@localhost php-5.4.26]# mkdir /mydata [root@localhost php-5.4.26]# mount -t nfs 172.16.31.34:/mydata/mydata 掛載nfs,用來存儲php頁面。 [root@localhost php-5.4.26]# chown -R nobody /mydata 修改webdata目錄的所有者為nobody, 因為nobody是php進程運行的用戶。 3,mysql配置 1首先下載mysql-5.5.33包組(mariadb-5.5.36-linux-x86_64.tar.gz),然后解壓mariadb-5.5.36-linux-x86_64.tar.gz到/usr/local [root@localhost ~]# tar xfmariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local 2準備數據存放的文件系統 a新建一個sda3 [root@localhost~]# fdisk /dev/sda Command (m for help): n Commandaction e extended p primary partition (1-4) p Partitionnumber (1-4): 3 Firstcylinder (7859-13054, default 7859): Usingdefault value 7859 Lastcylinder, +cylinders or +size{K,M,G} (7859-13054, default 13054): +20G Command(m for help): t Partitionnumber (1-4): 3 Hex code(type L to list codes): 8e (文件系統為LVM) Changedsystem type of partition 3 to 8e (Linux LVM) Command (m for help): w b讀入磁盤中 [root@localhost ~]# kpartx -af /dev/sda device-mapper: reload ioctl on sda1failed: Invalid argument create/reload failed on sda1 device-mapper: reload ioctl on sda2failed: Invalid argument create/reload failed on sda2 device-mapper: reload ioctl on sda3failed: Invalid argument create/reload failed on sda3 [root@localhost ~]# partx -a /dev/sda BLKPG: Device or resource busy error adding partition 1 BLKPG: Device or resource busy error adding partition 2 BLKPG: Device or resource busy error adding partition 3 (表示已經讀入到磁盤中) c新建邏輯卷,并將其掛載至特定目錄,此處目錄設置為/mydata [root@localhost ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created [root@localhost ~]# vgcreate myvg/dev/sda3 Volume group "myvg" successfully created [root@localhost ~]# lvcreate -L 10G -nmydata myvg Logical volume "mydata" created [root@localhost ~]# mke2fs -t ext4 -LMYDATA -b 4096 -m 3 /dev/myvg/mydata 并且能開機掛載,編輯fastab文件 /dev/mapper/vg0-root / ext4 defaults 1 1 UUID=90ebd4cf-95c1-4338-b0dd-19b2b1cb943d/boot ext4 defaults 1 2 /dev/mapper/vg0-usr /usr ext4 defaults 1 2 /dev/mapper/vg0-var /var ext4 defaults 1 2 /dev/mapper/vg0-swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=MYDATA /mydata ext4 defaults 0 0 (開機掛載) d 新建用戶以安全方式運行進程,并創建鏈接 [root@localhost ~]# groupadd -r mysql [root@localhost ~]# useradd-g mysql -r mysql [root@localhost ~]# idmysql uid=496(mysql)gid=493(mysql) groups=493(mysql) [root@localhost ~]#chown -R mysql.mysql /mydata/data/ [root@localhost ~]# ll -a/mydata/data/ total 8 drwxr-xr-x 2 mysql mysql4096 Aug 11 20:15 . 先進入/usr/local目錄下 [root@localhost local]# ln-sv mariadb-5.5.36-linux-x86_64 mysql lrwxrwxrwx 1 root root 27 Aug 11 20:18mysql -> mariadb-5.5.36-linux-x86_64 e 為mysql提供主配置文件 cd/usr/local/mysql/ mkdir /etc/mysql創建一個目錄,因為在/etc下有個my.cnf cpsupport-files/my-large.cnf /etc/mysql/my.cnf vim/etc/mysql/my.cnf port = 3306 socket =/tmp/mysql.sock skip-external-locking key_buffer_size = 256M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 datadir = /mydata/data (指定mysql數據文件的存放位置) 開始初始化 [root@localhostmysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ (此處必須在 mysql目錄下,要在scripts初始化,會報錯) f 為mysql提供sysv服務腳本 [root@localhostmysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 然后添加到服務列表中 [root@localhost mysql]# chkconfig --addmysqld [root@localhost mysql]# chkconfig --list mysqld mysqld 0:off1:off2:on3:on4:on5:on6:off 啟動服務 root@localhost mysql]# service mysqld start Starting MySQL... [ OK ] [root@localhost mysql]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:52971 *:* LISTEN 0 128 :::50732 :::* LISTEN 0 128 :::111 :::* LISTEN 0 128 *:111 *:* LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* LISTEN 0 128 127.0.0.1:631 *:* LISTEN 0 128 ::1:631 :::* LISTEN 0 100 ::1:25 :::* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 127.0.0.1:6010 *:* LISTEN 0 128 ::1:6010 :::* LISTEN 0 50 *:3306 *:* (3306端口已啟動) 設置權限 [root@localhostmysql]#chmod +x /etc/rc.d/init.d/mysqld g 編輯環境變量 [root@localhost~]# vim /etc/profile.d/mysql.sh exportPATH=/usr/local/mysql/bin:$PATH h導出頭文件和庫文件 ln -sv /usr/local/mysql/include /usr/include/mysql [root@localhost~]# vim /etc/ld.so.conf.d/mysql.conf(新建) /usr/local/mysql/lib 讓系統重新載入 [root@localhost ~]#ldconfig -v | grep mysql /usr/local/mysql/lib: libmysqld.so.18 -> libmysqld.so.18 libmysqlclient.so.18 ->libmysqlclient_r.so.18.0.0 /usr/lib64/mysql: libmysqlclient.so.16 -> libmysqlclient.so.16.0.0 libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0 [root@localhost ~]#mysql MariaDB [(none)]> use mysql MariaDB [mysql]> grant all on discuz.* to disadmin@172.16.31.32 identified by 'root'; 為數據庫用戶disadmin授權在172.16.31.32主機上登陸,密碼為 root 配置完成。
文章題目:WEB+NFS+DNS的搭建
轉載來于:http://www.xueling.net.cn/article/gdhehe.html