准备工作:安装编译工具:yum -y install gcc gcc-c++ make
关闭防火墙和selinux
配置yum源
上传压缩源码包并解压到指定目录
一、安装nginx
1、安装基础依赖、openssl解压源码包
yum -y install zlib zlib-devel pcre pcre-devel
tar -zxf openssl-1.0.2h.tar.gz
2、添加nginx用户:useradd -M -s /sbin/nologin nginx
3、安装nginx
1)进入解压目录nginx-1.13.8
执行:./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-openssl=解压目录/openssl-1.0.2h --with-stream
2)编译并安装:make && make install
4、开启服务测试
二、安装MySQL
1、安装基础依赖
yum -y install cmake bison ncurses-devel
2、安装源码包ncurses依赖
cd ncurses-5.9
./configure --with-shared --without-debug --without-ada --enable-overwrite
编译并安装
3、添加mysql用户:useradd -M -s /sbin/nologin mysql
4、安装MySQL
1)tar -zxf mysql-5.5.48.tar.gz
2)cd mysql-5.5.48
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
3)编译并安装
5、生成配置文件
cp -a support-files/my-medium.cnf /etc/my.cnf
6、进入到指定的安装目录,修改MySQL数据的用户归属,初始化数据库
cd /usr/local/mysql
chown -R mysql data
./scripts/mysql_install_db --user=mysql
7、后台启动
/usr/local/mysql/bin/mysqld_safe --user=mysql &
8、测试
三、安装PHP库文件
1、安装字体库(freetype)
tar -zxf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
编译并安装
2、安装加密库、安装libltdl
1)安装加密库(mcrypt <- mhash + libmcrypt和ltdl)
tar -zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
编译并安装
2)安装libltdl:在libcrypt源码包目录中,需进入安装
cd libltdl
./configure --enable-ltdl-install
编译并安装
3、安装mhash
cd mhash-0.9.9.9
./configure
编译并安装
4、安装mcypt
cd mcrypt-2.6.8
export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib
./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
编译并安装
5、安装压缩库(zlib)
cd zlib-1.2.3
./configure
添加makefile参数:vim Makefile
CFLAGS=-O3 -DUSE_MMAP -fPIC
编译并安装
6、安装图片库(libpng、jpeg)
1)安装libpng
cd libpng-1.2.31
./configure --prefix=/usr/local/libpng
make && make install
2)安装jpeg6
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
yum -y install libtool*
cd jpeg-6b
cp -a /usr/share/libtool/config/config.sub ./
cp -a /usr/share/libtool/config/config.guess ./
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
编译并安装
7、安装配置文件解析库(libxml2)
yum -y install libxml2-devel python-devel
cd libxml2-2.9.1
./configure --prefix=/usr/local/libxml2
编译并安装
四、安装php
1、安装php
1)cd php-7.0.7
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear --enable-fpm
编译并安装
2)将解压目录下的ini配置文件,复制到安装目录做主配置文件
进入php-7.0.7解压目录下
cp -a php.ini-development /usr/local/php/etc/php.ini
3)设置php的fpm模块
cd /usr/local/php/etc/
cp -a php-fpm.conf.default php-fpm.conf
4)修改fpm模块的配置文件
vim php-fpm.conf
取消第17行pid = run/php-fpm.pid的注释
cd php-fpm.d
cp -a www.conf.default www.conf
vim www.conf
修改所有者所属组为nginx
user = nginx
group = nginx
5)启动php-fpm服务
/usr/local/php/sbin/php-fpm
2、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
添加缺省界面:第45行index index.html index.htm;
修改为index index.html index.htm index.php;
第65~71行取消注释
第include fastcgi_params;改为include fastcgi.conf;
3、测试:重新启动服务
4、测试:vim /usr/local/nginx/html/test-php.php
<?php
phpinfo();
?>
浏览器输入服务器IP/test-php.php
5、编写php网页中连接mysql数据库
1)vim /usr/local/nginx/html/test-php-mysql.php
<?php
$servername = "localhost";
$username = "root";
$password = "123";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
//die() 函数输出一条消息,并退出当前脚本,是 exit() 函数的别名。
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
// 创建数据库
$sql = "CREATE DATABASE IF NOT EXISTS wordpress";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
2)测试:服务器IP/test-php-mysql.php
五、部署网站
1、解压wordpress压缩包到指定目录
2、复制wpordpress目录到nginx网页根目录下:cp -a wordpress /usr/local/nginx/html/
3、递归修改html所有者、所属组:chown -R nginx:nginx /usr/local/nginx/html
4、添加默认缺省界面:第45行添加index.php
例:/usr/local/nginx/conf/nginx.conf
六、设置开机自启动
vim /etc/rc.d/rc.local
添加:/usr/local/nginx/sbin/nginx
/usr/local/php/sbin/php-fpm
/usr/local/mysql/bin/mysqld_safe --user=mysql &
添加执行权限:chmod +x /etc/rc.d/rc.local