掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
本篇文章講解的是在CentOS7.3下配置 apache2.4 + mysql5.7 + php7.1.8

我們擁有十余年網(wǎng)頁設計和網(wǎng)站建設經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設、網(wǎng)站制作、微信開發(fā)、重慶小程序開發(fā)、成都手機網(wǎng)站制作、HTML5、等業(yè)務。無論您有什么樣的網(wǎng)站設計或者設計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設計服務并滿足您的需求。
一.Apache
1.查看httpd包是否可用
yum list | grep httpd
2.安裝Apache
yum install httpd
3.配置servername
vi /etc/httpd/conf/httpd.conf
修改這行: ServerName localhost:80
4.啟動
systemctl start httpd
如果啟動失敗 請注意錯誤信息 一般來說新安裝的軟件都會啟動成功 我當時啟動失敗后是用ps -aux | grep httpd命令發(fā)現(xiàn)進程被占用 所以kill -9 進程號 把httpd的進程殺干凈 再啟動 就OK了
5.設置開機啟動
chkconfig httpd on
二 MySQL
1.安裝MySQL源
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2.安裝MySQL
yum install mysql-community-server
3.啟動MySQL
systemctl start mysqld
4.獲取密碼
grep 'temporary password' /var/log/mysqld.log
得到這行A temporary password is generated for root@localhost: Jqqskhz1Wr(? 冒號后面的就是密碼
5.進入MySQL
mysql -uroot -p
6.修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY ********** (密碼請用引號包起來 注意MySQL的密碼必須復雜 不復雜會報錯)
7.開放遠程訪問權限
use mysql;
update user set host = '%' where user = 'root';
百分號相當于*號,意為全部放行,也可改為IP地址則只允許此IP連接,也可以設置為192.168.%.%或者192.168.0.1/9代表允許一個ip段進行連接,也可以多加幾條數(shù)據(jù)設置不同ip允許連接。
8.MySQL權限管理。(只寫干貨,不懂的請自行Google)
create user 'myqiutian'@'%' IDENTIFIED BY '*********';
創(chuàng)建一個用戶為myqiutian,因為用的%所以任何IP都可以登錄,但登錄后卻無法看到數(shù)據(jù)庫,新增用戶所有權限默認關閉。
懶人請用這一行:
grant all on *.* to myqiutian;設置該用戶所有數(shù)據(jù)庫所有表擁有所有權限
grant select on A數(shù)據(jù)庫.* to myqiutian;
授權myqiutian這個用戶可以查看A數(shù)據(jù)庫里的所有表,但是僅限于A數(shù)據(jù)庫,也僅限于查看。
grant insert on A數(shù)據(jù)庫.user to myqiutian;
授權myqiutian這個用戶可以對A數(shù)據(jù)庫里的user表進行insert操作,但僅限于user表,也僅限于select和insert操作。
撤銷權限
revoke insert on A數(shù)據(jù)庫.user from myqiutian;
注意:撤銷權限之前最好用show grants for myqiutian;這條sql查一下該用戶有哪些權限,增加的什么權限就撤什么權限,你增加的insert就不能撤銷all。
MySQL權限工作流程:
--------->用戶連接MySQL
--------->查詢user表 核對賬號密碼 檢查host字段 是否允許你的ip進行連接
--------->查詢user表 其他權限字段 值若為Y 代表用戶對所有數(shù)據(jù)庫所有表所有字段都擁有該權限 若有值為N 則往下走
--------->查詢db表 庫權限控制表 獲取該用戶對哪些庫擁有哪些權限 這張表里一條記錄代表一個庫
--------->查詢tables_priv表 獲取該用戶的表控制權限 同樣 如果db表中該用戶對A數(shù)據(jù)庫擁有insert權限 那么不管tables_priv表中如何設置 都不會影響該用戶的isnert權限,如果tables_priv表中的單表權限不為all,則繼續(xù)往下走
--------->查詢columns_priv表 字段控制 可以設置對表字段的控制權限
四個表依次為 user db tables_priv columns_priv
注意:
如果user表中全為Y,那么不會查詢下面的表。
user表中的select為N時,可以在db表中指定哪些庫可以被用戶看到。
但是無論是表控制還是字段控制,上級權限表(user表除外)的select字段必須為Y。
而其他權限如果上級表給出了設置,那么不會采用下級表的設置。
具體權限字段請查閱官方手冊:
http://www.yesky.com/imagesnew/software/mysql/manual_Privilege_system.html#Privileges_provided
8.刷新權限 立即生效
flush privileges;
別忘了這里有一個配置文件cat /etc/my.cnf 可以查看存儲的數(shù)據(jù)與log的位置。
三:PHP7
1.通過ftp將php源碼包上傳到Linux上,或者通過wget在線下載也可以。因為沒有找到我要的最新版的7.1.8的包,所以我就去官網(wǎng)下載來傳到Linux上進行使用,
將包放到/usr/local 并cd進去。(ftp的內容請查看我上一篇文章,php7的包請點擊分享鏈接進行下載:http://pan.baidu.com/s/1dEYQjoX)
2.解壓
tar -zxvf php-7.1.8.tar.gz
3.進入解壓包安裝一些必要的依賴
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
4.安裝gcc
yum install gcc
5.安裝
yum -y install libxslt-devel*
yum -y install perl*
yum -y install httpd-devel
find / -name apxs 得到的路徑是:/usr/bin/apxs
于是得到--with-apsx2的路徑是/usr/bin/apxs
5.配置
./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs
6.編譯
make
7.編譯出現(xiàn)錯誤請查閱這篇博客:
http://www.cnblogs.com/sweetXiaoma/p/5855732.html
感謝博主分享經(jīng)驗讓學者收益。
8.編譯檢查
make test
這步可走可不走,因為它老是愛提示錯誤,但又不給錯誤信息,如果有問題,那么編譯的時候一定不成功,既然編譯成功了,那么可以直接進行安裝。
9.安裝
make install
10.添加環(huán)境變量
vi /etc/profile
在末尾加入:
PATH=$PATH:/usr/local/php7/bin
export PATH
11.使改動立即生效
source /etc/profile
12.查看php版本
php -v
(如果有問題 請檢查添加的環(huán)境變量是否是PHP安裝目錄里的bin目錄)
13.生成必要文件
cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/php-fpm /usr/local/php7/etc/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
14.配置
如果報錯 請敲這行查報錯信息 可以查到哪個文件第幾行出錯:
systemctl status httpd.service
修改Apache默認歡迎頁:
vi /etc/httpd/conf.d/welcome.conf
將/usr/share/httpd/noindex 修改為/var/www
修改Apache配置:
vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/"
(請注意,/var/www這個路徑是自定義,在配置文件中有好幾處這個路徑,如果更改,請全局搜索一下都改掉)
找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php7
搜索
DirectoryIndex index.html index.php
搜索有沒有下面這一行:
LoadModule php7_module modules/libphp7.so
如果沒有 請手動添加 否則 會出現(xiàn)運行php文件變成下載
在最下面配置域名
DocumentRoot /var/www
ServerName www.你的域名.com
ServerAlias 你的域名.com
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order Deny,Allow
Allow from all
15.測試
在www目錄下創(chuàng)建index.php
添加
訪問:www.你的域名.com
下面關于LAMP相關的內容你可能也喜歡:

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流