一 LNMP相关概念
LNMP组成:
LNMP:Linux+Nginx+Mysql+PHP
PHP:编程语言。负责处理请求。
MySQL:数据库管理系统。
Nginx:Web服务软件。监听端口、接收请求、解析HTTP协议、转发给PHP进行处理并接收其结果响应请求。
LNMP架构:
二 LNMP部署
- #添加不可登录的nginx用户
useradd -s /sbin/nologin nginx#安装部署nginx所用到的安装工具和相关库yum -y install gcc openssl-devel pcre-devel zlib-devel#下载nginx源码包,并解压wget http://nginx.org/download/nginx-1.10.3.tar.gztar -zxvf nginx-1.10.3.tar.gzcd nginx-1.10.3#设置参数 参数具体参考《nginx编译参数》./configure \--prefix=/usr \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_flv_module \--with-http_stub_status_module \--with-http_gzip_static_module \--http-client-body-temp-path=/var/tmp/nginx/client/ \--http-proxy-temp-path=/var/tmp/nginx/proxy/ \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgi \--with-pcre#编译并安装 ,时间挺长的
- make && make install
- #使用命令启动nginx #nginx -s stop 关闭nginx
- nginx #如果启动失败报缺失某文件,mkdir -p 创建即可
- #防火墙允许策略
- firewall-cmd --permanent --add-port=80/tcp
- firewall-cmd --reload
- #访问ip测试
部署PHP
#下载php-7源码包wget http://hk2.php.net/get/php-7.0.15.tar.gz/from/this/mirror#下载编译工具和库yum install -y gcc libxml2-devel openssl-devel bzip2-devel libmcrypt-devel # libmcrypt-devel是php加密,yum没有下载源码包可自行下载源码包编译安装后使用。#安装一些库或软件可去www.sourceforge.net搜索下载 #mcrypt安装 (需安装libmcrypt mhash mcrypt,前两个是mcrypt的依赖)
1. wget https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
2. wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
3. wget https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download
4. #解压,会生成文件 libmcrypt-2.5.8 mcrypt-2.6.8 mhash-0.9.9.9
5. tar -zxvf download
6. tar -zxvf download.1
7. tar -zxvf download.2
8. #安装libmcrypt
9. cd libmcrypt-2.5.8/
10. ./configure
11. make && make install
12. #安装mhash
13. cd /root/mhash-0.9.9.9/
14. ./configure
15. make && make install
16. #安装mcrypt
17. cd /root/mcrypt-2.6.8/
18. LD_LIBRARY_PATH=/usr/local/lib ./configure
19. make && make install
20.
21. #编译安装php
tar -zxvf mirror #会解压生成php7的文件夹cd php-7*/./configure \--prefix=/usr/local/php7 \--enable-mysqlnd \
--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-openssl \--enable-mbstring \--with-freetype-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \--enable-xml \--enable-sockets \--enable-fpm \--with-mcrypt \--with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--with-bz2
1. make && make install
2. #把php配置文件复制到默认目录
3. cp php.ini-production /etc/php.ini
4. #php-fpm自启设置
5. cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
6. chmod +x /etc/rc.d/init.d/php-fpm
7. chkconfig --add php-fpm
8. chkconfig php-fpm on
9. #php-fpm使用service管理
10. cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
11. cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
12. service php-fpm start
13. #配置nginx可调用php
14. vim /etc/nginx/nginx.conf
15. #45行追加index.php
16. #去掉php配置的注释(大约65-71行)
17.
18. vim /etc/nginx/fastcgi_params
19. fastcgi_param QUERY_STRING $query_string;
20. fastcgi_param REQUEST_METHOD $request_method;
21. fastcgi_param CONTENT_TYPE $content_type;
22. fastcgi_param CONTENT_LENGTH $content_length;
23. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
24. fastcgi_param SCRIPT_NAME $fastcgi_script_name;
25. fastcgi_param REQUEST_URI $request_uri;
26. fastcgi_param DOCUMENT_URI $document_uri;
27. fastcgi_param DOCUMENT_ROOT $document_root;
28. fastcgi_param SERVER_PROTOCOL $server_protocol;
29. fastcgi_param GATEWAY_INTERFACE CGI/1.1;
30. fastcgi_param SERVER_SOFTWARE nginx;
31. fastcgi_param REMOTE_ADDR $remote_addr;
32. fastcgi_param REMOTE_PORT $remote_port;
33. fastcgi_param SERVER_ADDR $server_addr;
34. fastcgi_param SERVER_PORT $server_port;
35. fastcgi_param SERVER_NAME $server_name;
36. #可在nginx的html默认网站根目录创建以下文件
37. #vim test.php
38. #<?php
39. #phpinfo();
40. #登录 http://IP/test.php测试
部署mysql
#添加mysql用户组并添加mysql用户(不允许登录)groupadd mysqluseradd -r -g mysql -s /bin/false -M mysql#下载mysql源码包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz#安装编译工具和依赖包yum install -y cmake make gcc gcc-c++yum install -y ncurses-devel openssl-devel bison-devel libaio libaio-devel# boost库安装# 该步骤可以省略,在cmake阶段添加参数-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost即可wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gztar -zxvf boost_1_59_0.tar.gz -C /usr/localmv /usr/local/boost_1_59_0 /usr/local/boostcd /usr/local/boost./bootstrap.sh./b2 stage threading=multi link=shared./b2 install threading=multi link=shared#安装编译mysqltar -zxvf mysql-5.7.17.tar.gzcd mysql-5.7.17
1. #使用cmake工具设置参数,新版的php都从configure改用cmake
2. cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADTR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DMYSQL_USER=mysql \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DOWNLOADS=1 \-DWITH_PARTRTION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_DEBUG=0 \-DMYSQL_MAINTAINER_MODE=0 \-DMITH_SSL:STRING=bundled \-DWITH_ZLIB:STRING=bundled \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/usr/local/boost
1.
2. make && make install
3. #将mysql目录权限给mysql用户
4. chown -Rf mysql:mysql /usr/local/mysql
5. #初始化数据库,默认会将库存入默认目录,即/usr/local/mysql/data
6. /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7. #设置mysql的配置文件
8. cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
9. #使用service管理,并设置自启
10. cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqldchkconfig mysqld onservice mysqld start
1.
2. echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile#以下命令可参考《Mariadb基本管理》 Mariadb兼容mysql命令#初始化mysql数据库服务 会提示输入mysql的root密码mysql_secure_installation#使用root登录mysqlmysql -u root -p
1. #以下创建会在使用workpress搭建网站使用
#展示当前数据库show databases;#创建msun数据库create database msun;#创建msun用户create user 'msun'@'localhost' identified by '123456';#赋予msun用户关于msun数据库所有权限grant all on msun.* to msun@localhost;
1. #退出
exit
1. #OK!!下面就是搭建网站博客
workpress搭建网站
#下载workpress文件并解压wget https://cn.wordpress.org/wordpress-4.7.2-zh_CN.tar.gztar -zxvf wordpress-4.7.2-zh_CN.tar.gz
#删除html原来文件并将workpress文件移入nginx网站目录rm /usr/html/*mv wordpress/* /usr/html/#登录网站IP开始安装http://192.168.1.166
#此处设置数据库就是mysql刚刚创建的
#此处按要求 vim /usr/html/wp-config.php 把下面内容复制进去
OK!!这样登录IP就可看见你自己搭建的博客网站