企业编译安装mysql_企业实战1-----LNMP全程编译安装部署wordpress博客程序

网络最流行架构LNMP全程编译安装部署wordpress博客程序,今天我们在一台机器上完成所有角色的安装,不同的环境依赖的组件和编译方法有所不同。

环境描述:

Centos 6.5、 nginx-1.6.3.tar.gz 、mysql-5.6.35、cmake-2.8.8  、php-5.5.32

第一部分:nginx的编译安装

yum install openssl openssl-devel pcre pcre-devel-y    ###安装nginx依赖包

mkdir /tools     #创建此目录存放软件包,命名为tools,所有的软件包都放在此目录,后面不再说。

cd /tools

wget -q http://nginx.org/download/nginx-1.6.3.tar.gz

tar xf nginx-1.6.3.tar.gz

cd nginx-1.6.3

useradd www -s /sbin/nologin -M./configure --user=www --group=www --with-http_ssl_module --    with-http_stub_status_module --prefix=/usr/local/nginx-1.6.3

make && make install

ln -s /usr/local/nginx-1.6.3/ /usr/local/nginx

/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

至此nginx已经安装成功,为节省篇幅就略过截图,若有问题请指出。

当然yum安装更简便,不防yum安装也贴出来(yum安装如下:)

wget -q http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum install nginx

第二部分:mysql的编译安装

1、安装mysql依赖的组件、编译安装cmake-2.8.8

yum install ncurses-devel libaio-devel -y

mysql5.5以后的版本需要cmake编译,下载地址 http://pan.baidu.com/s/1mhIxDH2

tar xf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

gmake

gmake install

2、获取mysql源码包,编译安装

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35.zip

tar xf mysql-5.6.35.tar.gz

cd mysql-5.6.35

cmake  \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql    \

-DMYSQL_DATADIR=/usr/local/mysql/data    \

-DSYSCONFDIR=/etc   \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

哇,没有报错,mysql5.6.35 编译安装就成功了!

3、配置和部署mysql安装的文件

创建mysql用户和组

# groupadd  mysql

# useradd  -M  -s  /sbin/nologin  -g  mysql  mysql

设置mysql安装目录的属主和属组

# chown  -R  mysql:mysql  /usr/local/mysql/

给数据库目录可读可写的权限

# chmod  777  -R  /usr/local/mysql/data/

复制配置文件和服务控制脚本到相应位置

# cp /usr/local/mysql/support-files/my-default.cnf   /etc/my.cnf

# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

编辑配置文件 /etc/my.cnf,添加:

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

指定安装目录和数据库目录就可以了,其他参数先不用管。

4、初始化数据库并启动

初始化数据库

# cd  /usr/local/mysql

# scripts/mysql_install_db --user=mysql

可以用 echo $?测试,如返回0 就表示成功了。

# service  mysqld  start

然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!

# netstat  -anpt  |  grep  mysqld

# /usr/local/mysql/bin/mysql  -u root  -h  localhost  -p    测试连接

为避免输入绝对路径的麻烦,我们创建软件连接

#ln -s /usr/local/mysql/bin/mysql /usr/bin

也或者配置环境变量,避免绝对路径的麻烦

#vi /etc/profile   加入 PATH="/usr/local/mysql/bin/mysql:$PATH"

#./etc/profile

第三部分 PHP的编译安装

1、确保nginx、mysql服务是否开启

#netstat -nltup | grep -E "nginx|mysqld"

2、安装php基础依赖库

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

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

有部分组件安装不成功,要手动安装

cd /usr/local/src

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv

make && make install

cd ../

3、安装libmcrypt、mhash、mcrypt模块

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum -y install libmcrypt-devel mhash mcrypt

4、编译安装php-5.5.32.tar.gz

wget http://mirrors.sohu.com/php/php-5.5.32.tar.gz

tar xf php-5.5.32.tar.gz

cd php-5.5.32

./configure\

--prefix=/usr/local/php5.5.32\      ###必要步骤

--with-mysql=/usr/local/mysql/\     ###必要步骤

--enable-fpm\                       ###必要步骤

--with-fpm-user=www\                ###必要步骤

--with-fpm-group=www\               ###必要步骤

--with-pdo=mysql=mysqlnd\

--with-iconv-dir=/usr/local/libiconv\

--with-freetype-dir\

--with-jpeg-dir\

--with-png-dir\

--with-zlib\

--with-with-libxml-dir=/usr\

--enable-xml\

--disable-rpath\

--enable-bcmath\

--enable-shmop\

--enable-sysvsem\

--enable-inline-optiimization\

--with-curl\

--enable-mbregex\

--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\

--enable-ftp\

--enable-opacache=no

#echo $?  返回0,界面出现 Thank you for using PHP,看来应该是没问题。

make && make install

如果这里出现错误,请执行如下操作,再重新编译,我这里没有报错。

ln -s /usr/local/msyql/lib/libmysqlclient.so.18 /usr/lib64/

touch /php-5.5.32/ext/phar/phar/phar

ln -s /usr/local/php5.5.32/ /usr/local/php

5、配置php-fpm

cd /tools/php-5.5.32

cp php.ini-production /usr/local/php/lib/php.ini   ###配置php解析文件

cd /usr/local/php-5.5.32/etc

cp php-fpm.conf.default php-fpm.conf                   ###配置php-fpm配置文件

/usr/local/php/sbin/php-fpm                                  ###启动php-fpm

lsof -i:9000

ps -ef |grep php-fpm

6、整合nginx+php

nginx.conf 添加以下配置文件:

server {

listen80;

server_nameblog.ooso.com;

location / {

root html/blog;

index index.php index.html index.htm;

}

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

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

}

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

7、验证测试到mysql是否正常

vi test_mysql.php

$link_id=mysql_connect('localhost','root','passwd') or mysql_error();

if($link_id){

echo "mysql successful!";

}else{

echo mysql_error();

}

?>

如果出现错误,或者返回php源码,请修改mysql中root密码,修改test_mysql.php中对应的passwd.

访问出现mysql sucessful!  表示php连接mysql 成功!

四、部署wordpress

nginx的网站发布目录/usr/local/nginx/html ,为了以后更多得站点,我们新建blog目录

cd /usr/local/nginx/html

mkdir blog

cd blog

wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz

tar xf wordpress-4.8.1-zh_CN.tar.gz

mv wordpress-4.8.1-zh_CN.tar.gz /tools/

mv wordpress/* .

chown -R www.www ./blog/

浏览器中输入ip地址访问,并填写相关的数据库信息,如下:

注意:我这里遇到一直访问有问题,原因php-fpm没有启动

确保必须的服务启动:

nginx     : /usr/local/nginx/sbin/nginx

mysql      :  service mysqld start

php-fpm :  /usr/local/php/sbin/php-fpm

b0bf2f3b46440b74160552f14efa8e7b.png

95d6606fd9f3fec79c7c9b26eb22eea4.png

8cb67d0a879f0e8eabdf945edf9574bf.png

a727d700ef014ca16898a00d7bed73ea.png

5f14b28b11b39dc2825a6c4f586efa7e.png

好了,至此一个blog程序就部署完了,根据自己的所需来发布文章信息等。

后面我们学习企业实战2--如何加入redis来实现网站的缓存、企业实战3--LNMP组件分离(mysql在单独一台服务器)等。;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值