MySQL启动方式-LNMP安装与部署博客

 

第2章 mysql设置启动方式更改

1、修改启动方式

[root@web01 /application/mysql/bin]# cd /application/mysql

[root@web01 /application/mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@web01 /application/mysql]# chmod +x /etc/init.d/mysqld

2、修改配置文件

[root@web01 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe 
[root@web01 mysql]# grep "local" /etc/init.d/mysqld

3、杀死mysqld进程

[root@web01 mysql]# pkill mysqld

4、查询mysql进程是否存在

[root@web01 mysql]# ps –ef|grep mysql

5、启动mysql进程

[root@web01 mysql]# /etc/init.d/mysqld start

6、查看网络端口协议是否有mysql选项

netstat –lntup|grep mysql

7、设置开机自启动,并且查看设置成功没。

chkconfig mysqld on

chkconfig –list mysqld

8、设置环境变量方便启动mysql

PATH="/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
[root@web01 mysql]# tail -1 /etc/profile
export PATH="/application/mysql/bin:$PATH"

 

# 助教文档---将数据库命令加入环境变量中

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

source /etc/profile

注意说明:当关机后可能设置的别名或环境变量会失效,所以需要谨慎检查配置文件是否有效果,在生效一遍环境变量。

2.1 mysql启动失败错误故障总结

1、如果启动错误,就将以上所有步骤全部做好,否则错一步,就不行,其他都启动会报错。

第3章 mysql管理数据库命令

1、管理数据库

show databases;        #查看数据库

create database oldboy;  #创建数据库

drop database test;       #删除数据库

use mysql              #切换数据库,cd /tmp

select database();         #查看当前所在的库,pwd

2、管理用户

select user,hosts from mysql.user;     #查看当前有哪些用户。用户@主机名 代表一个用户。

 

grant all on *.* to oldboy@localhost identified by “oldboy123”;

搜权 所有 所有库 所有表 用户 客户主机 密码

 

select user,host from mysql.user;   #再次查看数据库默认表,里面直接查看新增的用户。

3、为root设置密码

mysqladmin password oldboy123

4、修改root密码:

mysqladmin –uroot –polboy123 password oldboy

3.1.1 mysql设置不需密码登录(简化,且保证安全      )

1、vim /etc/my.cnf  在配置文件的开头,要在mysqld标签的前面,插入下面参数此到文件里。

[client]

user = root

password = oldboy123

2、设置不需密码登录。

chmod 400 /etc/my.cnf      #能看到用户密码登录就不安全,设置400权限,root用户能看,其他用户不能看也不可修改。

说明:不用密码登录。最好不要,为了管理方便、学习才使用快捷方式登录。

注意说明:当

第4章 安装PHP

4.1 php介绍

1、一门网页语言,下坡趋势,java python go

2、搭建PHP环境,解析PHP程序环境。PHP服务

   传统:

   配合Apache 使用mod_php5.so,解析PHP的

   配合NGINX  使用fastcgi的方式,解析PHP

   fastcgi 动态语言接口,独立启东守护进程提供服务。

4.1.1 安装依赖包

说明:注意每行每行执行,否则会编译过程中会失败。

yum install epel-release -y

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y

yum -y install libmcrypt-devel

yum -y install mhash

4.1.2 安装libiconv

mkdir -p /home/oldboy/tools                                         #创建目录
cd /home/oldboy/tools                                                #进入目录
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz        #下载libicon文件
tar zxf libiconv-1.15.tar.gz                                        #解压libicon文件
cd libiconv-1.15                                                     #进入解压后的libicon文件夹
./configure --prefix=/usr/local/libiconv                             #到解压后的文件夹里,启动程序配置生成参,安装目录指定位置。
make                                                                  #编译
make install                                                         #编译安装

4.1.3 编译安装php

cd /home/oldboy/tools/                     #进入此目录

上传php软件包
tar xf php-5.6.36.tar.gz                 #解压配置文件
cd php-5.6.36                            #到了此目录后,下面的程序编译命令一次性复制执行。
./configure \                            
--prefix=/application/php5.6.36 \         #前提设置了安装目录
--with-mysql=/application/mysql/ \            #同时也设置了这个目录          #如果没有mysql目录,需要设置mysqlnd\
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \                     #设置了管理用户www
--with-fpm-group=www \                    #设置了管理组www
--enable-ftp \
--enable-opcache=no

说明:上方代码中不允许有空格和那些注释,必须要去掉否则一次性执行不了。

故障:

configure: error: Cannot find OpenSSL's <evp.h>

解决:

yum install openssl openssl-devel

ln -s /usr/lib64/libssl.so /usr/lib/

4.1.4 设置快捷方式

ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/      #设置mysql某个模块为/usr/lib64快捷键

4.1.5 编译与编译安装

make && make install   #前提要在/home/oldboy/tools/php-5.6.36目录下才能执行make和make编译安装

4.1.6 设置php快捷方式

ln -s /application/php5.6.36 /application/php       #设置php安装好的目录的软连接为 /appication/php

4.1.7 生成php引擎的配置文件

cd /home/oldboy/tools/php-5.6.36                   #进入安装目录

cp php.ini-production /application/php/lib/php.ini  #复制解析PHP的配置文件到其他安装目录下

4.1.8 生成PHP进程的配置文件

cd /application/php/etc/                              #进入php相关目录

cp php-fpm.conf.default php-fpm.conf                   #复制例文件一份为php进程配置文件

4.1.9 启动php fastcgi服务

/application/php/sbin/php-fpm      #执行此路径的这个程序启动php

4.1.10 查看php网络端口是否启动成功

netstat -lntup|grep php-fpm    #查看php网络端口,如有以下信息证明安装成功

#tcp        0      0 127.0.0.1:9000       0.0.0.0:*        LISTEN      21709/php-fpm 

4.2 nginx配置:所有扩展名为.php的抛给PHP服务器解析

1、配置段如下代码:

location ~ .*\.(php|php5)?$ {              #定义如果用户输入\前面不管什么内容,只要\后面是.php或php5的文件后缀名就能解析

    root html/blog;                        #网站目录是html/blog

    fastcgi_pass  127.0.0.1:9000;          #当用户访问时就把文件抛给9000端口php服务去解析。

    fastcgi_index index.php;

include fastcgi.conf;

}

2、配合nginx结合PHP

cd /application/nginx/conf/extra           #进入要解析php的虚拟主机配置文件里添加参数。

 

[root@web01 extra]# vim 03_blog.conf       #编辑虚拟主机文件加入php解析的代码。

    server {

        listen       80;

        server_name  blog.etiantian.org;   #主机名设置的时候需要跟本地hosts解析。

        location / {

            root   html/blog;

            index  index.html index.htm;

        }  

location ~ .*\.(php|php5)?$ {

    root html/blog;                        #注意跟网站的目录一致。

    fastcgi_pass  127.0.0.1:9000;

    fastcgi_index index.php;

    include fastcgi.conf;

}

}

重要说明:添加php参数时,有可能是缺少一个括号的},需要先检查语法在添加,防止多走弯路去排错,并且还有要在}的下面去添加此参数,一定要仔细看。

3、重启nginx服务

/application/nginx/sbin/nginx –t     #检查语法错误
/application/nginx/sbin/nginx -s reload      #平滑重启

4、nginx+php+mysql环境验证

cd /application/nginx/html/       #进入此目录新建一个php环境变量进去测试。


cat >>test.php<<EOF
<?php phpinfo(); ?>
EOF

第5章 部署wordpress博客

5.1 在网站目录下上传网站程序代码

cd /application/nginx/html/blog        #进入网站根目录

unzip -o wordpress-4.9.6.zip           #unzip解压网站程序压缩包文件

mv wordpress/* .                       #移动压缩包文件里的目录中的文件到本目录。

chown -R www.www ../blog/              #设置网站目录blog的属主和属组设置为www

5.2 创建数据库wordpress,创建用户woredpress,密码oldboy123

mysql       #登录mysql数据库

create databases wordress;     #创建数据库wordpress

grant all on wordpress.* to ‘wordpress’@’172.16.1.0 255.255.255.0’ identified by ‘oldboy123’;   #授权wordpress用户所有权限并且设置密码。

select user,host from mysql.user;      #查询数据库默认账号密码,查看是否添加进去了。

5.3 修改连接数据库的文件

mv wp-config-sample.php wp-config.php #复制一份配置文件模板,到目录下

vim wp-config.php                      #编辑配置文件。

 

define('DB_NAME', 'wordpress');        #数据库名字

 

/** MySQL database username */

define('DB_USER', 'root');             #数据库账号

 

/** MySQL database password */

define('DB_PASSWORD', 'oldboy123');        #数据库密码

 

/** MySQL hostname */

define('DB_HOST', 'localhost');        #数据库主机地址

5.4 nginx主配置文件设置默认文档顺序为index.php

vim nginx.conf     #编辑nginx主配置文件

index index.php index.html index.htm       #将默认文档那一个选项设置为index.php优先,否则wp网站程序不会自动引导到安装页面,会显示403

5.5 负载均衡重要说明:安装wp程序时,要配置好本地host对应www.etiantian.org域名,linux的hosts对应域名,nginx的server_name配置好,否则使用ip创建wordpress数据库时会使用IP创建页面,导致所有页面和图片都是某个IP里的,导致实现不了负载均衡。

1、/etc/hosts

2、C:\windows\System32\drivers\etc\hosts

3、vim nginx.conf配置文件中的server_name

5.6 浏览器安装博客程序

输入地址开始安装http://blog.etiantian.org/index.php       #输入数据库、和管理员账号密码。

5.7 wordpress创建数据库配置文件说明

说明:可先搭建好博客,到博客/wp-admin/里面自动跳转到安装页面的,到时候可以直接在网页安装的方式去自动创建好数据库连接配置文件,当然也可以直接通过文件直接去修改。

注意:以上所有操作都要操作,不仅仅是教的,老男孩老师是边教,并且一边部署的,如果你觉得教了的话,你没有去跟着操作,他后面做的东西,你是做不出的,一定要跟着操作就行,否则全部报错,搞的脑袋精神疲惫。

5.8 上课操作一定要跟老男孩走,否则后面全部出错。

说明:不管是nginx、mysql等某些自己也会的配置,如果不跟着操作,后面如果编译某些的东西或者做什么东西的时候,如果没有具体告诉大家某样设置是干什么的,那就完蛋了后面全部报错并且跟不上课程节奏了,所以一步一步全部都很重要。

 

自己觉得老男孩的不重要,觉得是教人家做,以为后面不需要,比如博客,教我们搭建,我以为不需要用到,结果没去弄,结果后面就全部操作跟不上了,全部用到了,一定要做什么就做什么。

猜你喜欢

转载自www.cnblogs.com/shell520/p/9757849.html
今日推荐