源碼部署LAMP環境。php
web服務器IP爲192.168.189.128,經過源碼包進行安裝,網站爲WordPress。html
軟件的版本分別爲:mysql
apr-1.5.2web
apr-util-1.5.4正則表達式
httpd-2.4.37sql
mysql-5.6.31數據庫
php-7.2.17apache
wordpress-4.7.3vim
[root@jiangfeng2 src]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=web.jiangfeng.cc
[root@jiangfeng2 src]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.189.128 web.jiangfeng.cc
//開發工具包 [root@web ~]# yum groupinstall "Development tools" -y //桌面開發工具包(圖形化相關包) [root@web ~]# yum groupinstall "Desktop Platform Development" -y //其餘依賴包 [root@web ~]# yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel -y
1)建立mysql用戶windows
[root@web ~]# useradd -r -s /sbin/nologin mysql [root@web ~]# tail -1 /etc/passwd mysql:x:498:498::/home/mysql:/sbin/nologin
2)解壓軟件並進入解壓目錄
[root@web ~]# cd /usr/local/src/ [root@web src]# tar -zxf mysql-5.6.31.tar.gz [root@web src]# cd mysql-5.6.31 [root@web mysql-5.6.31]# pwd /usr/local/src/mysql-5.6.31
3)根據需求對mysql進行配置
[root@web mysql-5.6.31]# cmake . \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ > -DMYSQL_DATADIR=/usr/local/mysql/data \ > -DENABLED_LOCAL_INFILE=1 \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DMYSQL_TCP_PORT=3306 \ > -DDEFAULT_CHARSET=utf8mb4 \ > -DDEFAULT_COLLATION=utf8mb4_general_ci \ > -DWITH_EXTRA_CHARSETS=all \ > -DMYSQL_USER=mysql
注:若是怕輸入的時候出現問題,能夠把這部分代碼編寫成腳本經過腳本執行。
相關參數的說明:
參數說明: cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ 安裝路徑 -DMYSQL_DATADIR=/usr/local/mysql/data \ 數據目錄 -DENABLED_LOCAL_INFILE=1 \ 開啓加載外部文件功能;1開啓,0關閉 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 將InnoDB存儲引擎靜態編譯到服務器 -DMYSQL_TCP_PORT=3306 \ 使用的端口 -DDEFAULT_CHARSET=utf8mb4 \ 字符集 -DDEFAULT_COLLATION=utf8_general_ci \ 字符校驗規則 -DWITH_EXTRA_CHARSETS=all \ 擴展字符集 -DMYSQL_USER=mysql 用戶身份mysql
4)進行編譯安裝
make && make install
5)後續配置
//更改數據目錄權限 [root@web ~]# chown -R mysql.mysql /usr/local/mysql/ //清空環境 [root@web ~]# rm -f /etc/my.cnf [root@web ~]# cd /usr/local/mysql/ //初始化數據庫 [root@web mysql]# ./scripts/mysql_install_db --user=mysql ………… New default config file was created as ./my.cnf and will be used by default by the server when you start it. You may edit this file to change server settings //查看上個操做的返回值是否報錯 [root@web mysql]# echo $? 0
//拷貝啓動腳本 [root@web mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //啓動服務前查看端口是否被佔用 [root@web mysql]# netstat -nltp |grep 3306 //啓動服務 [root@web mysql]# service mysql start Starting MySQL.. SUCCESS! //設置數據庫root密碼 [root@web mysql]# /usr/local/mysql/bin/mysqladmin -u root password '123' Warning: Using a password on the command line interface can be insecure. //在環境變量中添加mysql相關啓動軟件 [root@web mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile [root@web mysql]# . /etc/profile
1)安裝依賴包apr和apr-util
注:兩個壓縮包在同一個目錄 安裝apr和apr-util軟件: [root@web ~]# tar xf apr-1.5.2.tar.bz2 [root@web ~]# cd apr-1.5.2 [root@web ~]# ./configure [root@web ~]# make && make install [root@web ~]# cd ../ [root@web ~]# tar xf apr-util-1.5.4.tar.bz2 [root@web ~]# cd apr-util-1.5.4/ [root@web ~]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config //指定軟件apr的路徑 [root@web ~]# make && make install
把apr放入動態連接庫中 [root@web php-7.2.17]# echo "/usr/local/apr/lib/" >>/etc/ld.so.conf [root@web php-7.2.17]# ldconfing
2)根據需求安裝httpd
[root@web src]# tar -jxf httpd-2.4.37.tar.bz2 [root@web src]# cd httpd-2.4.37 [root@web httpd-2.4.37]# ./configure \ --enable-modules=all \ --enable-mods-shared=all \ --enable-so \ --enable-rewrite \ --with-pcre \ --enable-ssl \ --with-mpm=prefork \ --with-apr=/usr/local/apr/bin/apr-1-config \ --with-apr-util=/usr/local/apr/bin/apu-1-config
參數的解釋:
--enable-modules=all 加載全部支持模塊 --enable-mods-shared=all 共享方式加載大部分經常使用的模塊 --enable-so 啓動動態模塊加載功能 --enable-rewrite 啓用url地址重寫功能 --enable-ssl 編譯ssl模塊,支持https --with-pcre 支持正則表達式 --with-apr=/usr/local/apr/bin/apr-1-config 指定依賴軟件apr路徑 --with-apr-util=/usr/local/apr/bin/apu-1-config --with-mpm=prefork 插入式並行處理模塊,稱爲多路處理模塊,Prefork 是類UNIX平臺上默認的MPM
(1)prefork 多進程模型,每一個進程響應一個請求 (2)worker 多進程多線程模型,每一個線程處理一個用戶請求 (3)event(最優) 事件驅動模型,多進程模型,每一個進程響應多個請求
3)編譯並安裝
make && make install
[root@web src]# tar Jxf php-7.2.17.tar.xz [root@web src]# cd php-7.2.17 [root@web src]# ./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysqli \ --with-pdo-mysql \ --with-zlib \ --with-curl \ --enable-zip \ --with-gd \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --enable-opcache \ --enable-mbstring \ --enable-mbregex \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-calendar \ --enable-bcmath [root@web src]# make && make install
相關參數的解釋
--with-apxs2=/usr/local/apache2/bin/apxs #指定apxs路徑,apxs是一個爲Apache HTTP服務器編譯和安裝擴展模塊的工具 --with-mysql php7中已被廢棄 --with-mysqli --with-pdo-mysql #以上三個是php的擴展,用於鏈接mysql數據庫的 --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir #這些都是在啓用對某種文件的支持 --with-curl 和 --with-curlwrappers #用於支持 curl 函數,此函數容許你用不一樣的協議鏈接和溝通不一樣的服務器 --with-openssl,--with-mhash,--with-mcrypt #這都是和加密有關的參數,啓用它們是爲了讓php能夠更好的支持各類加密。 --enable-bcmath #高精度數學運算組件。 --enable-shmop和 --enable-sysvsem #使得你的PHP系統能夠處理相關的IPC函數.IPC是一個Unix標準通信機制,它提供了使得在同一臺主機不一樣進程之間能夠互相通信的方法。 --enable-inline-optimization #棧堆指針和優化線程。 --enable-pcntl #多線程優化。 with-apxs2 #調用apache加載模塊支持PHP gd #畫圖庫 libiconv #字符變換轉換 libmcrypt #字符加密 mcrypt #字符加密 mhash #哈希運算
1. 修改apache主配置文件 [root@web ~]# vim /usr/local/apache2/conf/httpd.conf #配置語言支持 LoadModule negotiation_module modules/mod_negotiation.so //此模塊打開註釋 Include conf/extra/httpd-languages.conf //打開此選項,擴展配置文件就生效了 ... //對虛擬主機的支持,後續再打開 #Include conf/extra/httpd-vhosts.conf 加載php模塊解析php頁面,添加兩行,告訴httpd把.php文件交給模塊去編譯 LoadModule php7_module modules/libphp7.so //找到這一句,在這句下面加上兩句 AddHandler php7-script .php AddType text/html .php //默認主頁加上index.php,並放在index.html前,支持php的首頁文件 <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> 注意:默認的網站目錄是:/usr/local/apache2/htdocs/ 2. 修改apache的子配置文件,優先支持中文 [root@web ~]# vim /usr/local/apache2/conf/extra/httpd-languages.conf DefaultLanguage zh-CN //打開註釋,默認語言集改成中文 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt- BR ru sv tr zh-TW //語言集優先集,把zh-CN 寫到前面
[root@web ~]# mkdir /www/myblog -p [root@web ~]# tar -zxf /usr/local/src/wordpress-4.7.3-zh_CN.tar.gz -C /www/myblog/ [root@web ~]# chown -R daemon:daemon /www/myblog [root@web ~]# cd /usr/local/apache2/conf/ //打開加載虛擬主機配置文件 [root@web ~]# vim /usr/local/apache2/conf/httpd.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf //子配置文件目錄裏修改虛擬主機配置文件 vim /usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/www/myblog" ServerName web.jiangfeng.cc ErrorLog "logs/myblog-error_log" CustomLog "logs/myblog-access_log" common </VirtualHost> <Directory "/www/myblog"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 網站鏈接後臺數據庫配置 mysql -p Enter password: mysql> create database myblog default charset utf8; //建立myblog庫來存放wordpress的數據
在windows的hosts配置文件中綁定web服務器的域名
在C:\Windows\System32\drivers\etc目錄下的hosts文件中追加以下內容
192.168.189.128 www.jiangfeng.cc
在瀏覽器中輸入網址
1.更改/usr/local/apache2/conf/extra/httpd-vhosts.conf配置文件
[root@web ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/www/phpmyadmin" ServerName www.php.cc ErrorLog "logs/myblog-error_log" CustomLog "logs/myblog-access_log" common </VirtualHost> <Directory "/www/phpmyadmin"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
2.把你的網站內容放入相應的目錄下
[root@web src]# cp -a phpMyAdmin-4.8.5-all-languages /www/phpmyadmin/