注册 登录

Linux服务器配置CentOS+Nginx+PHP+MySQL服务器环境教程

Linux教程 服务器租用 2225次浏览 0个评论 扫描二维码

Linux服务器配置CentOS+Nginx+PHP+MySQL服务器环境教程

Linux服务器配置CentOS+Nginx+PHP+MySQL服务器环境教程

给站长朋友们分享一篇Linux服务器配置教程,让搭建熟悉掌握安装CentOS+Nginx+PHP+MySQL服务器环境步骤,让大家可以打造原生的服务器环境,当然了这样会很复杂。推荐大家尽量使用PHP集成环境配置linux服务器,这样会简单很多。

下面我们开始今天的Linux服务器配置CentOS+Nginx+PHP+MySQL服务器环境教程。

1、更新第三方源并升级系统 (CentOS默认的标准源里没有nginx软件包)

1.1、安装CentOS第三方yum源

** #安装下载工具wget

yum install wget

#下载atomic yum源

wget http://www.atomicorp.com/installers/atomic

#安装

sh ./atomic

** 或者:

rpm -ivh http://nginx.org/packages/<a href="http://www.fuwuqizuyong.cc/tag/centos" title="查看更多关于centos的文章" target="_blank">centos</a>/6/noarch/RPMS/nginx-release-<a href="http://www.fuwuqizuyong.cc/tag/centos" title="查看更多关于centos的文章" target="_blank">centos</a>-6-0.el6.ngx.noarch.rpm

1.2、升级CentOS系统

#更新yum软件包

yum check-update

#更新系统

yum update

2、安装和配置nginx

yum install nginx

#启动

service nginx start

#设为开机启动

chkconfig nginx on

#配置防火墙,开启80端口、3306端口

vi /etc/sysconfig/iptables

#(允许80端口通过防火墙)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

#(允许3306端口通过防火墙)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存后重启防火墙:

/etc/init.d/iptables restart 

#重启防火墙使配置生效

3、安装和配置PHP

3.1、安装PHP和相关插件

yum install -y php php-cli php-curl php-fpm php-intl php-mcrypt php-<a href="http://www.fuwuqizuyong.cc/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a> php-gd php-mbstring php-xml php-dom

3.2、修改PHP配置

#编辑php.ini , 将以下配置的值修改为1024M

vim /etc/php.ini

post_max_size = 1024M

memory_limit = 1024M

upload_max_filesize = 1024M

3.3、配置PHP-FPM

#启动php-fpm

/etc/rc.d/init.d/php-fpm start

#设置开机启动

chkconfig php-fpm on

#重启pfm

/etc/init.d/php-fpm restart

4、安装MySql和创建EduSoho数据库

4.1、安装MySql

#询问是否要安装,输入Y即可自动安装,直到安装完成

yum install <a href="http://www.fuwuqizuyong.cc/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a> <a href="http://www.fuwuqizuyong.cc/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>-server

#启动MySQL

/etc/init.d/<a href="http://www.fuwuqizuyong.cc/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>d start

#设为开机启动

chkconfig <a href="http://www.fuwuqizuyong.cc/tag/mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>d on

#拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

修改用户密码:

修改root密码

CentOS 下 MySQL 管理员帐号默认是 root 用户,密码为空。如果你从没设置过 MySQL 的密码,使用 root 用户来连接 MySQL 服务器不需要输入密码。

第一次设置root密码可以使用以下命令:

mysqladmin -u root password NEWPASSWORD

如果你已经设置过密码了,需要要以下命令:

mysqladmin -u root -p'oldpassword' password newpass

比如说,旧密码是“12345”,新密码是“nowamagic”,执行以下命令:

mysqladmin -u root -p'12345' password 'nowamagic'

修改其它MySQL用户的密码

修改一个普通用户的密码你可以使用以下命令,比如用户是 nmuser:

mysqladmin -u nmuser -p oldpassword password newpass

另一种修改密码的方法是,MySQL 服务器把用户名和密码储存在 MySQL 数据库的 user 表中。你可以使用以下方法来直接更新用户 nmuser 的密码:

1. 登录mysql服务器:

mysql -u root -p

2. 选择 MySQL 数据库

mysql> use mysql;

3. 修改 nmuser 密码

mysql> update user set password=PASSWORD("NEWPASSWORD") where User='nmuser';

4. 重置权限
先执行

mysql> flush privileges;

在执行

mysql> quit

访问授权说明:

Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT ALL PRIVILEGES ON *.* TO [email protected]"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT select,insert,update,delete ON *.* TO [email protected]"172.16.16.152" IDENTIFIED BY "youpassword";

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

四、删除用户授权,需要使用REVOKE命令,具体命令格式为:

REVOKE privileges ON 数据库[.表名] FROM user-name;

具体实例,先在本机登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT select,insert,update,delete ON TEST-DB TO [email protected]"172.16.16.152" IDENTIFIED BY "youpassword";

再进行删除授权操作:

REVOKE all on TEST-DB from test-user;

****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。

最后从用户表内清除用户:

DELETE FROM user WHERE user="test-user";

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

五、MYSQL权限详细分类:

全局管理权限:

FILE: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

数据库/数据表/数据列权限:

ALTER: 修改已存在的数据表(例如增加/删除列)和索引。

CREATE: 建立新的数据库或数据表。

DELETE: 删除表的记录。

DROP: 删除数据表或数据库。

INDEX: 建立或删除索引。

INSERT: 增加表的记录。

SELECT: 显示/搜索表的记录。

UPDATE: 修改表中已存在的记录。

特别的权限:

ALL: 允许做任何事(和root一样)。

USAGE: 只允许登录–其它什么也不允许做。

4.1、创建数据库

#登录数据库

mysql -uroot -p

CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 ;

GRANT ALL PRIVILEGES ON mydb .*TO’username’@’localhost’ IDENTIFIED BY ‘password’;

quit;

5、 配置Nginx

vi /etc/nginx/nginx.conf

在http{}配置中加入:

client_max_body_size 1024M;

vi /etc/nginx/conf.d/www.conf

加入以下配置:

server {

listen 80;

server_name 127.0.0.1;

root /usr/share/nginx/web;

access_log /var/log/nginx/www.access.log;

error_log /var/log/nginx/www.error.log;

location / {

index app.php;

try_files $uri @rewriteapp;

}

location @rewriteapp {

rewrite ^(.*)$ /app.php/$1 last;

}

location ~ ^/udisk {

internal;

root /usr/share/nginx/www/app/data/;

}

location ~ ^/(app|app_dev)\.php(/|$) {

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info ^(.+\.php)(/.*)$;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param HTTPS off;

fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;

fastcgi_param HTTP_X-Accel-Mapping /udisk=/usr/share/nginx/www/app/data/udisk;

fastcgi_buffer_size 128k;

fastcgi_buffers 8 128k;

}

location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {

expires 3y;

access_log off;

gzip off;

}

location ~* \.(css|js)$ {

access_log off;

expires 3y;

}

location ~ ^/files/.*\.(php|php5)$ {

deny all;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info ^(.+\.php)(/.*)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param HTTPS off;

include fastcgi_params;

}

}

#重启nginx

/etc/init.d/nginx restart


服务器租用(www.fuwuqizuyong.cc) , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明:Linux服务器配置CentOS+Nginx+PHP+MySQL服务器环境教程
服务器租用
喜欢 (1)
[]
分享 (0)
服务器租用
关于作者:
服务器租用专注为广大站长与网友朋友分享建站教程、SEO优化文章、网站模板资源、服务器软件(Web环境、建站程序)等,另外为大家推荐各种国内外服务器、香港服务器、虚拟主机、域名购买优惠信息与服务器相关知识。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到