本文共 4628 字,大约阅读时间需要 15 分钟。
一、准备工作
1、检查selinux是否为关闭状态,不为disable需要改为disable。SELINUX=disabled不为disabled 的话,则修改为 SELINUX=disabled。
2、检查环境下有没有安装过低版本的rpm -qa|grep mysqlmysql-libs-5.1.73-8.el6_8.x86_64rpm -qa|grep nginx
rpm -qa|grep php
从上可获知Linux下yum过一个 mysql-libs-5.1.73-8.el6_8.x86_64,等下安装MySQL5.6版本的时候,先做卸载就可以。
3、可以查看有没有mysql nginx php等相关的命令 ,有可能是源码安装过的,若有也需要卸载掉。
whereis nginx
whereis php
whereis mysql4、防火墙上开启80端口的对外开放, 3306端口看你对外需求再开放了(安全考虑需要对外开放的话,也只能授权对应的信任IP访问才行)
刚刚新安装的系统默认的是关闭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-prohibitedCOMMIT保存后重启iptables
service iptables restart
二、安装nginx
centos 6.9默认的是nginx1.10版本,想安装nginx更高的版本可以下载nginx官网yum源进行安装,这里省略自己查看其它版本安装的参考吧。1、删除系统自带的软件包yum remove httpd php 2、安装nginxyum install -y nginx3、设置nginx开机启动
chkconfig nginx on4、启动nginxservice nginx start三、安装MySQL5.6
1、检查MySQL是否有相关包
whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysqlrpm -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-libs2、清空dbcache
yum clean dbcache3、下载MySQL rpm安装包
wget
4、 安装MySQL安装源
使用rpm -ivh mysql-community-release-el6-5.noarch.rpm安装下载的rpm文件~rpm -ivh mysql-community-release-el6-5.noarch.rpm5、安装mysql-community-server
使用yum install mysql-community-server安装MySQL server。yum install mysql-community-server6、启动MySQL服务
service mysqld start7、修改mysql密码
修改密码~使用update user set password=PASSWORD("YOUR_PASSWORD") where user='root';修改root账号密码~
mysql> use mysql;
Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase 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: 0mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> quit
密码验证
重新登录mysql服务至此,MySQL安装完毕~
四、安装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
rpm -Uvh
rpm -Uvh
rpm -Uvh如果想删除上面安装的包,重新安装
rpm -qa | grep nginxrpm -e [上面搜索到的包即可]执行安装
yum -y install php56w.x86_64yum -y --enablerepo=webtatic install php56w-develyum -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五、配置
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#修改组为nginxgroup = nginx开始测试cd /var/wwwvi index.php添加以下代码<?php
echo phpinfo();?>:wq! 保存退出#设置权限
chown nginx.nginx /var/www -R#重启nginxservice nginx restart //(若fastcgi.conf没找到:,请参考上面配置的方法二)#重启php-fpmservice php-fpm restart在客户端浏览器输入服务器IP地址(如: 127.0.0.1),可以看到相关的配置信息!如果是虚拟机,则使用ifconfig获取虚拟机ip,在浏览器输入:虚拟机IP/index.php,可以看到相关的配置信息!
说明配置成功!3、更改MySQL编码为utf8
vim /etc/my.cnf 添加一下内容character_set_server = utf8
4、设置开机启动项
chkconfig nginx onchkconfig mysqld onchkconfig php-fpm on六、问题:
问题1 /etc/init.d/nginx restartnginx: [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
转载于:https://blog.51cto.com/holy2010/2152072