linux-------lnmp安装
一 环境准备
1.系统环境
[root@web02 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@web02 ~]# uname -r
2.6.32-431.el6.x86_64
2.关闭selinux iptables
[root@web02 ~]# getenforce
Disabled
[root@web02 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
3.安装的位置目录,存放软件的目录
mkdir -p /application/ /server/tools
4.软件版本
mysql-5.6.34 #二进制编译安装
php-5.5.32 #编译安装
wordpress-4.7
nginx-1.12.2 #编译安装
二 部署nginx
1 创建用户
[root@web02 tools]# useradd www -s /sbin/nologin -M
2 解压,编译安装
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/application/nginx-1.12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
make && make install
3 创建软连接
ln -s /application/nginx-1.12.2 /application/nginx
4 启动 精简配置文件
[root@web02 nginx-1.12.2]# /application/nginx/sbin/nginx -t #检查配置文件
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@web02 nginx-1.12.2]# /application/nginx/sbin/nginx #启动
[root@web02 nginx-1.12.2]# grep -Ev "#|^$" /application/nginx/conf/nginx.conf.default > /application/nginx/conf/nginx.conf
[root@web02 nginx-1.12.2]# cat /application/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
三 部署mysql(二进制)
mysql官方下载链接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
1.下载mysql
mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
2.解压安装
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34
ln -sf /application/mysql-5.6.34/ /application/mysql
3.创建用户
useradd mysql -M -s /sbin/nologin
chown -R mysql.mysql /application/mysql/data/
4.初始化数据库
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
5.启动mysql服务
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -ri 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
/etc/init.d/mysqld start
6.设置密码
/application/mysql/bin/mysqladmin -uroot password "oldboy123"
/application/mysql/bin/mysql -uroot -poldboy123
7.设置MySQL开机自启动
chkconfig --add mysqld
chkconfig mysqld on
8.配置环境变量
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
9.清理无用的MYsql用户及库
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | web02 |
| root | web02 |
+------+-----------+
6 rows in set (0.00 sec)
mysql> drop user "root"@"::1";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ""@"localhost";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ""@"web02";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user "root"@"web02";
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
四 php编译安装
FastCGI:
FastCGI是一个可伸缩地,高速地在HTTP服务器和动态脚本语言间通信的接口(在LINUX下 FastCGI接口即为socket,这个socke可以是文件的socket,也可以是IP socket),主要的优点是把动态语言和HTTP服务器分离开来,多数流行的HTTP服务器都支持FastCGI,包括Apache nginx lighttpd。
同时,FastCGI也是被许多的脚本语言支持,例如当前比较流行的PHP,FastCGI接口采用的是C/S架构,可以将HTTP服务器和脚本解析服务器分开,同时还能在脚本解析服务器上启动一个或多个脚本来解析守护进程,HTTP服务器遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求,或者将动态脚本服务器的结果返回给客户端,这在很大的程度上提高整个应用系统的性能
FastCGI的重要特点:
1)http服务器和动态脚本语言通信的接口和工具
2)可把动态语言解析和HTTP服务器分离开
3)Apache nginx lighttpd,以及多个动态语言支持FastCGI
4)FastCGI接口采用的是C/S架构 ,分为客户端和服务端
5)HPH动态语言服务器可以启动多个FastCGI的守护进程
6)http服务器通过(例如nginx fastcgi_pass) FastCGI客户端和动态语言FastCGI服务器端通信(例如php-fpm)
1.安装依赖包
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt
2.安装libiconv软件
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
3.下载php包
php-5.5.32.tar.gz
4.安装php包
cd /server/tools/
tar xf php-5.5.32.tar.gz
cd php-5.5.32
./configure \
--prefix=/application/php-5.5.32 \
--with-mysql=/application/mysql-5.6.34 \
--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 \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no
防错(以下信息可以不进行配置了)
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make
make install
ln -s /application/php-5.5.32/ /application/php
5.配置php
cp php.ini-production /application/php-5.5.32/lib/php.ini cd /application/php/etc/ cp php-fpm.conf.default php-fpm.conf
6.启动php程序服务
/application/php/sbin/php-fpm
[root@web02 etc]# netstat -lntup|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 128497/php-fpm
7.修改nginx支持php解析
[root@web02 html]# cat ../conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root html;
index index.php index.html index.htm;
location ~* .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
}
8.php 测试页面
[root@web02 html]# cat test_info.php
<?php
phpinfo();
?>
9.编写mysql的测试页面
[root@web02 html]# cat mysql_info.php
<?php
//$link_id=mysql_connect('主机名','用户','密码');
//mysql -u用户 -p密码 -h 主机
$link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !\n";
}else{
echo mysql_error();
}
?>
10. 编写php 启动脚本
打开配置文件 (/application/php/etc/php-fpm.conf)
打开 注释 pid = run/php-fpm.pid
编写/etc/init.d/php-fpm
#!/bin/bash
# php-fpm startup script for the php-fpm
# php-fpm version:5.5.32
# chkconfig: - 85 15
# description: php-fpm is very good
# processname: php-fpm
# pidfile: /application/php/var/run/php-fpm.pid
# config: /application/php/etcphp-fpm.conf
php_command=/application/php/sbin/php-fpm
php_config=/application/php/etc/php-fpm.conf
php_pid=/application/php/var/run/php-fpm.pid
RETVAL=0
prog="php-fpm"
#start function
php_fpm_start() {
/application/php/sbin/php-fpm
}
start(){
if [ -e $php_pid ]
then
echo "php-fpm already start..."
exit 1
fi
php_fpm_start
}
stop(){
if [ -e $php_pid ]
then
parent_pid=`cat $php_pid`
all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`
for pid in $all_pid
do
kill $pid
done
kill $parent_pid
fi
#exit 1
}
restart(){
stop
sleep 3
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
* )
echo "Usage: $prog [start|stop|restart]"
exit 1
;;
esac
## 添加执行权限
chmod a+x /etc/init.d/php-fpm
## 加入服务
chkconfig --add php-fpm
## 开机自启
chkconfig php-fpm on
五 安装wordpress
1.下载软件
wordpress-4.7.3-zh_CN.tar.gz
2. 安装 wordpress
tar xf wordpress-4.7.3-zh_CN.tar.gz mv wordpress/* /application/nginx/html/ chown -R www.www /application/nginx/html/
3.创建库 并授权
create database wordpress; grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
posted on 2018-12-12 15:42 augustyang 阅读(296) 评论(0) 编辑 收藏 举报