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/centos/6/noarch/RPMS/nginx-release-centos-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-mysql 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 mysql mysql-server

#启动MySQL
/etc/init.d/mysqld start

#设为开机启动
chkconfig mysqld 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 root@"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 root@"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 test-user@"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

微信关注

服务器吧 原创文章,发布者:服务器租用,如若转载请注明出处:https://www.fuwuqizuyong.cc/jianzhanjiaocheng/linux/551.html

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年3月23日
下一篇 2017年3月23日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

0311-8343-7686

在线咨询:点击这里给我发消息

邮件:564999054@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

微信客服
微信客服
分享本页
返回顶部
CTRL+D 快速收藏本站   便宜云服务器:传送门

Warning: error_log(/www/wwwroot/www.fuwuqizuyong.cc/wp-content/plugins/spider-analyser/#log/log-0120.txt): failed to open stream: No such file or directory in /www/wwwroot/www.fuwuqizuyong.cc/wp-content/plugins/spider-analyser/spider.class.php on line 2900