1、準備工做
一、檢查selinux是否爲關閉狀態,不爲disable須要改成disable。
SELINUX=disabledphp
不爲disabled 的話,則修改成 SELINUX=disabled。
二、檢查環境下有沒有安裝太低版本的
rpm -qa|grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64html
rpm -qa|grep nginxmysql
rpm -qa|grep phplinux
從上可獲知Linux下yum過一個 mysql-libs-5.1.73-8.el6_8.x86_64,等下安裝MySQL5.6版本的時候,先作卸載就能夠。nginx
三、能夠查看有沒有mysql nginx php等相關的命令 ,有多是源碼安裝過的,如有也須要卸載掉。web
whereis nginxsql
whereis php
whereis mysqlvim
四、防火牆上開啓80端口的對外開放, 3306端口看你對外需求再開放了(安全考慮須要對外開放的話,也只能受權對應的信任IP訪問才行)centos
剛剛新安裝的系統默認的是關閉iptables的瀏覽器
vim /etc/sysconfig/iptables
加入如下內容
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:140]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
保存後重啓iptables
service iptables restart
2、安裝nginx
centos 6.9默認的是nginx1.10版本,想安裝nginx更高的版本能夠下載nginx官網yum源進行安裝,這裏省略本身查看其它版本安裝的參考吧。
一、刪除系統自帶的軟件包
yum remove httpd php
二、安裝nginx
yum install -y nginx
三、設置nginx開機啓動
chkconfig nginx on
四、啓動nginx
service nginx start
3、安裝MySQL5.6
一、檢查MySQL是否有相關包
whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysql
rpm -qa|grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64
卸載mysql-libs-5.1.73-8.el6_8.x86_64
yum remove mysql-libs
二、清空dbcache
yum clean dbcache
三、下載MySQL rpm安裝包
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
四、 安裝MySQL安裝源
使用rpm -ivh mysql-community-release-el6-5.noarch.rpm安裝下載的rpm文件~
rpm -ivh mysql-community-release-el6-5.noarch.rpm
五、安裝mysql-community-server
使用yum install mysql-community-server安裝MySQL server。
yum install mysql-community-server
六、啓動MySQL服務
service mysqld start
七、修改mysql密碼
修改密碼~
使用update user set password=PASSWORD("YOUR_PASSWORD") where user='root';修改root帳號密碼~
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("YOUR_PASSWORD") where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
密碼驗證
從新登陸mysql服務
至此,MySQL安裝完畢~
4、安裝PHP5.6
檢查當前安裝的PHP包
yum list installed | grep php
若是有安裝的PHP包,先刪除他們, 如:
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64
配置安裝包源:,根據具體Linux系統版本安裝源。
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
若是想刪除上面安裝的包,從新安裝
rpm -qa | grep nginx
rpm -e [上面搜索到的包便可]
執行安裝
yum -y install php56w.x86_64
yum -y --enablerepo=webtatic install php56w-devel
yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64
安裝PHP FPM
yum -y install php56w-fpm
#設置php-fpm開機啓動
chkconfig php-fpm on
#啓動php-fpm
/etc/init.d/php-fpm start
5、配置
server{
listen 80;
servername ; //這裏填寫你的域名
index index.php index.html index.htm;
root /var/www/html;
location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf;
方法二:
//fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
//include fastcgi_params;
} location / { try_files $uri $uri/ /index.php?$query_string; }
}
說明: /var/www/html 爲web根目錄, 【location /】 ... 爲url的rewrite,隱藏 index.php
#修改用戶爲nginx
user = nginx
#修改組爲nginx
group = nginx
開始測試
cd /var/www
vi index.php
添加如下代碼
<?php
echo phpinfo();
?>
:wq! 保存退出
#設置權限
chown nginx.nginx /var/www -R
#重啓nginx
service nginx restart //(若fastcgi.conf沒找到:,請參考上面配置的方法二)
#重啓php-fpm
service php-fpm restart
在客戶端瀏覽器輸入服務器IP地址(如: 127.0.0.1),能夠看到相關的配置信息!
若是是虛擬機,則使用ifconfig獲取虛擬機ip,在瀏覽器輸入:虛擬機IP/index.php,能夠看到相關的配置信息!
說明配置成功!
三、更改MySQL編碼爲utf8
vim /etc/my.cnf 添加一下內容
character_set_server = utf8
四、設置開機啓動項
chkconfig nginx on
chkconfig mysqld on
chkconfig php-fpm on
6、問題:
問題1 /etc/init.d/nginx restart
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed
解決方法: 編輯 /etc/nginx/conf.d/default.conf
註釋掉 listen [::]:80 default_server;
問題2:網站註冊頁面報異常:field ‘id' doesn't have a default value
解決方法: 打開my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改成 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 而後重啓MYSQL