六、检测 nginx与mysql nginx与php 是否相连
一、环境介绍
搭建这个环境,所有服务都安装在一台虚拟机中,在此介绍一下我的虚拟机
二、必装依赖软件
lrzsz # 软件和此环境没有什么关系。安装后可以通过xshell直接拖拽软件包
yum -y install lrzsz pcre pcre-devel openssl-devel
rpm -qa lrzsz pcre pcre-devel openssl-devel
三、编译安装 Nginx-1.6.3
useradd -s /sbin/nologin/ -M nginx
解压 nginx 压缩包(安装过 lrzsz ,所以可直接拖拽软件的该目录)
开始编译安装 nginx , 在 nginx 目录下输入一下命令
./configure --prefix=/application/nginx-1.6.3 --user=nginx \
--group=nginx --with-http_ssl_module \
--with-http_stub_status_module \
ln -s /application/nginx-1.6.3/ /application/nginx
四、二进制安装 MYSQL-5.5.33
tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz
切到 /application 目录,lamp 环境中的所有服务都将安装到此目录中,方便管理
将 mysql 移动到 /application 目录中,并保留 mysql 版本号
mv /home/yuci/tools/mysql-5.5.33-linux2.6-x86_64 ./mysql-5.5.33
ln -s /application/mysql-5.5.33/ /application/mysql
useradd -s /sbin/nologin/ -M mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
chown -R mysql:mysql /application/mysql
cp support-files/my-small.cnf /etc/my.cnf
修改 mysql 的启动脚本 mysqld_safe,因为 mysql 的默认安装路径在 /usr/local/mysql,但现在 mysql 在 /application 目录中,所以通过 sed 命令更改
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
启动 mysql ,通过启动脚本 mysql_safe,并放入后台执行
/application/mysql/bin/mysqld_safe &
每次通过 mysqld_safe 启动比较麻烦,所以配置变量,通过修改 /etc/profile 实现即可
PATH="/application/mysql/bin:$PATH"
替换 mysql 启动脚本中的路径,将/usr/local/mysql 替换为 /application/mysql。
cp support-files/mysql.server /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld
使用 killall 命令杀死正在运行的 mysql 服务,重复杀,直到出现 mysqld: no process killed 的提示
设置 mysql 的 root 密码为 123456,并登陆 mysql
mysqladmin -uroot password "123456"
五、编译安装 PHP-5.3.27
libjpeg-devel # 因为版本升级的问题,yum 执行安装时是 libjpeg-devel ,但实际安装的是 libjpeg-turbo-devel
3)编译安装 libiconv-1.14 介个软件,因为它无法通过 yum 成功安装
5)安装 libmcrypt libmcrypt-devel 包
在安装 PHP 之前首先应该确认一下 nginx与mysql 服务都已经启动
安装php需要的各种lib库文件,其中安装 gd-devel 时安装失败,同时安装 gd gd-devel 才安装上
yum -y install freetype-devel libjpeg-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel
rpm -qa freetype-devel libjpeg-turbo-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel
(libjpeg-devel == libjpeg-turbo-devel)
安装 libiconv,这个软件无法通过 yum 安装,只能编译安装了
./configure --prefix=/usr/local/libiconv && make && make install
安装 epel 源,因为后面还要安装的 libmcrypt 库。介个库离不开介个源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
安装 libmcrypt libmcrypt-devel 包,并检查
yum -y install libmcrypt-devel # 可以同时安装 libmcrypt libmcrypt-devel
yum -y install mhash mhash-devel
编译安装 PHP-5.3.7,将 php 的安装包放到规定的 /home/yuci/tools 目录中
touch ext/phar/phar.phar
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
正式编译安装 PHP, 编译路径如下, PHP 目录下执行即可
--prefix=/application/php5.3.27 \
--with-mysql=/application/mysql \
--with-iconv-dir=/usr/local/libiconv \
--enable-inline-optimization \
ln -s /application/php5.3.27/ /application/php
将配置文件复制到 php 安装目录,并改名为 php.ini
cp php.ini-production /application/php/lib/php.ini
php进程管理文件生效(php-fpm.conf 进程管理)
cp php-fpm.conf.default php-fpm.conf
启动 php-fpm,检查是否启动,查看 php-fpm 端口
六、编辑 nginx.conf 文件
egrep -v "#|^$" nginx.conf.default > nginx.conf
在此目录下分别创建 phpinifo.php,mysql.php 两个文件,文件内容如下
$link_id=mysql_connect('localhost','root','123456') or mysql_error();
echo "mysql successful by yuci.";
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
七、安装 wordpress
wordpress 需要使用 mysql 的数据库,所以先来操作 mysql
创建对 wordpress 用户和密码,并授予其权限,刷新生效
grant all on wordpress.* to wordpress@'localhost' identified by '123456';
七、安装 wordpress
将 wordpress 安装包复制到 /home/yuci/tools,并解压
tar zxf wordpress-4.2.2-zh_CN.tar.gz
切到 html 目录中,将解压的 wordpress 文件中的内容剪切过去,并赋予 html 目录下的所有文件 777 权限
mv /home/yuci/tools/wordpress/* ./
编辑 /application/nginx/conf/nginx.conf 文件,添加一个动态页面
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
基于域名访问博客 blog.yuci.com
cd /application/nginx/conf/nginx.conf
编辑 /application/nginx/conf/nginx.conf 文件
因为在 nginx.conf 文件中 include 指定了 extra/blog.conf 所以需要先创建 extra 目录,在创建 blog.conf 文件
查看之前的 nginx.conf 的备份文件 nginx.conf.bak,使用 sed 命令搞定 blog.conf 文件
sed -n '10,22p' nginx.conf.bak > extra/blog.conf
tar zxf wordpress-4.2.2-zh_CN.tar.gz
blog.conf 中的选项 root html ,所以先切到 html 目录中
mv /home/yuci/tools/wordpress/* ./
将 html 中的所有文件设置为 777,这样不安全应该是目录755文件644,但是实验就懒一下吧
/application/nginx/sbin/nginx -t
转载于:https://blog.51cto.com/aby028/1882083