• LNMP网站架构部署


     目录

    一、LNMP架构部署(源码编译安装)

    ①实验准备

    ②安装nginx服务

    ③安装mysql服务,配置文件

    ④安装php服务,修改配置文件

    ⑤验证

    静态页面测试访问

    动态页面测试访问

    调用数据库测试

    二、LNMP架构应用实例

    1.论坛网站应用

    ①nginx服务器上传压缩包并解压

     ②php服务器上修改论坛目录的属主属组

    ③nginx服务器上修改论坛目录归属 

     ④mysql服务器上创建论坛的数据库

    ⑤验证

    2.博客网站应用

    ①nginx服务器上传博客软件包,解压

    ②php服务器共享目录中修改目录权限

    ③mysql服务器创建bbs数据库并刷新

    ④验证

     【课后练习】使用shell脚本一键部署LNMP架构


            lnmp是国内用的最多的网站架构,即Linux、nginx、mysql和php。

            LNMP的工作原理是:由客户端发送页面请求给Nginx,Nginx会根据location匹配用户访问请求的URL路径判断是静态还是动态。静态网页一般以 .html .htm .css .shtml结尾,动态网页一般是以 .php .jsp .py结尾。如果是静态网页,由Nginx直接处理和响应。如果是动态网页,Nginx会通过fastcgi接口转发给php-fpm进程接受,然后再由php解析器处理解释动态页面后响应返回给Nginx,Nginx再返回给客户端。如果动态页面涉及到数据库的读写,php会通过程序代码访问,mysql的api接口,并使用sql语句进行数据库的速写操作。

    一、LNMP架构部署(源码编译安装)

    这里举例分布式部署,好处是分开部署能够提高性能,软件安装没有前后顺序。


    ①实验准备

    主机三台,nginx服务器IP为192.168.170.200mysql数据库IP为192.168.170.30php服务器IP为192.168.170.100。关闭防火墙、配置好本地yum源、挂载光盘;上传对应软件包到对应的服务器并完成解压;

    1. [root@mynginx ~]# setenforce 0
    2. [root@mynginx ~]# systemctl stop firewalld
    3. [root@mynginx ~]# cd /opt/
    4. [root@mynginx ~]# rm -rf *
    5. [root@mynginx opt]# rz -e
    6. [root@mynginx opt]# ls
    7. nginx-1.26.0.tar.gz
    8. [root@mynginx opt]# tar xf nginx-1.26.0.tar.gz
    9. [root@mynginx opt]# ls
    10. nginx-1.26.0 nginx-1.26.0.tar.gz
    11. -------------------------------------------------------------------------------------------
    12. [root@mymysql ~]# setenforce 0
    13. [root@mymysql ~]# systemctl stop firewalld
    14. [root@mymysql ~]# cd /opt/
    15. [root@mymysql opt]# ls
    16. rh
    17. [root@mymysql opt]# rm -rf *
    18. [root@mymysql opt]# rz -e
    19. [root@mymysql opt]# ls
    20. mysql-boost-5.7.44.tar.gz
    21. [root@mymysql opt]# tar xf mysql-boost-5.7.44.tar.gz
    22. [root@mymysql opt]# ls
    23. mysql-5.7.44 mysql-boost-5.7.44.tar.gz
    24. ----------------------------------------------------------------------------------------[root@myphp ~]# setenforce 0
    25. [root@myphp ~]# systemctl stop firewalld
    26. [root@myphp ~]# cd /opt/
    27. [root@myphp opt]# ls
    28. rh
    29. [root@myphp opt]# rm -rf *
    30. [root@myphp opt]# rz -e
    31. [root@myphp opt]# ls
    32. php-7.1.10.tar.bz2
    33. [root@myphp opt]# tar xf php-7.1.10.tar.bz2
    34. [root@myphp opt]# ls
    35. php-7.1.10 php-7.1.10.tar.bz2

    安装nginx服务

    nginx的配置先做这么多,后面等mysql和php安装完毕再做,按顺序操作

    1. 1、安装依赖包
    2. [root@mynginx opt]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
    3. 2、创建运行用户
    4. [root@mynginx opt]# useradd -M -s /sbin/nologin nginx
    5. 3、编译安装
    6. [root@mynginx opt]# cd nginx-1.26.0/
    7. [root@mynginx nginx-1.26.0]# ./configure \
    8. --prefix=/usr/local/nginx \
    9. --user=nginx \
    10. --group=nginx \
    11. --with-http_stub_status_module
    12. --with-http_ssl_module
    13. [root@mynginx nginx-1.26.0]# make && make install
    14. 4、做软链接让系统能够直接调用nginx命令
    15. [root@mynginx nginx-1.26.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
    16. 5、添加 Nginx 系统服务
    17. [root@mynginx nginx-1.26.0]# vim /usr/lib/systemd/system/nginx.service
    18. [Unit]
    19. Description=nginx
    20. After=network.target
    21. [Service]
    22. Type=forking
    23. PIDFile=/usr/local/nginx/logs/nginx.pid
    24. ExecStart=/usr/local/nginx/sbin/nginx
    25. ExecReload=/bin/kill -s HUP $MAINPID
    26. ExecStop=/bin/kill -s QUIT $MAINPID
    27. PrivateTmp=true
    28. [Install]
    29. WantedBy=multi-user.target
    30. [root@mynginx nginx-1.26.0]# chmod 754 /lib/systemd/system/nginx.service
    31. [root@mynginx nginx-1.26.0]# systemctl daemon-reload
    32. [root@mynginx nginx-1.26.0]# systemctl start nginx.service
    33. [root@mynginx nginx-1.26.0]# systemctl enable nginx.service
    34. [root@mynginx nginx-1.26.0]# netstat -lntp | grep nginx
    35. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13149/nginx: master

    安装mysql服务,配置文件

    系统初始状态中vim /etc/my.cnf里是有内容的(因为里面有mariadba的配置,需要卸载yum remove -y maria)

    1. 【安装 MySQL 服务】
    2. 1、安装Mysql环境依赖包
    3. [root@mymysql opt]# yum -y install ncurses ncurses-devel bison cmake openssl-devel gcc gcc-c++ make
    4. 2、创建运行用户
    5. [root@mymysql opt]# useradd -M -s /sbin/nologin mysql
    6. 3.清除mariadb缓存
    7. [root@mymysql opt]# yum remove -y mariadb*
    8. 4、编译安装
    9. [root@mymysql opt]# cd /opt/mysql-5.7.44/
    10. [root@mymysql mysql-5.7.44]# cmake \
    11. > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    12. > -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    13. > -DSYSCONFDIR=/etc \
    14. > -DSYSTEMD_PID_DIR=/usr/local/mysql \
    15. > -DDEFAULT_CHARSET=utf8 \
    16. > -DDEFAULT_COLLATION=utf8_general_ci \
    17. > -DWITH_EXTRA_CHARSETS=all \
    18. > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    19. > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    20. > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    21. > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    22. > -DMYSQL_DATADIR=/usr/local/mysql/data \
    23. > -DWITH_BOOST=boost \
    24. > -DWITH_SYSTEMD=1
    25. [root@mymysql mysql-5.7.44]# make && make install
    26. 5、修改mysql 配置文件
    27. [root@mymysql mysql-5.7.44]# vim /etc/my.cnf
    28. [client]
    29. port = 3306
    30. socket=/usr/local/mysql/mysql.sock
    31. [mysqld]
    32. user = mysql
    33. basedir=/usr/local/mysql
    34. datadir=/usr/local/mysql/data
    35. port = 3306
    36. character-set-server=utf8
    37. pid-file = /usr/local/mysql/mysqld.pid
    38. socket=/usr/local/mysql/mysql.sock
    39. bind-address = 0.0.0.0
    40. skip-name-resolve
    41. max_connections=2048
    42. default-storage-engine=INNODB
    43. max_allowed_packet=16M
    44. server-id = 1
    45. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
    46. 6、更改mysql安装目录和配置文件的属主属组
    47. [root@mymysql mysql-5.7.44]# chown -R mysql:mysql /usr/local/mysql/
    48. [root@mymysql mysql-5.7.44]# chown mysql:mysql /etc/my.cnf
    49. 7、设置路径环境变量
    50. [root@mymysql mysql-5.7.44]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile[root@mymysql mysql-5.7.44]# source /etc/profile
    51. [root@mymysql mysql-5.7.44]# echo $PATH
    52. /usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    53. 8、初始化数据库
    54. cd /usr/local/mysql/bin/
    55. [root@mymysql mysql-5.7.44]# cd /usr/local/mysql/bin/
    56. [root@mymysql bin]# ./mysqld \
    57. > --initialize-insecure \
    58. > --user=mysql \
    59. > --basedir=/usr/local/mysql \
    60. > --datadir=/usr/local/mysql/data
    61. 9、添加mysqld系统服务
    62. [root@mymysql bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
    63. [root@mymysql bin]# systemctl daemon-reload
    64. [root@mymysql bin]# systemctl start mysqld.service
    65. [root@mymysql bin]# systemctl enable mysqld
    66. 10、修改mysql 的登录密码
    67. [root@mymysql bin]# mysqladmin -u root -p password "abc123"
    68. Enter password: (此处直接回车,因为安装时我们设置为无密码安装的)
    69. mysqladmin: [Warning] Using a password on the command line interface can be insecure.
    70. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
    71. 11、登录mysql
    72. [root@mymysql bin]# mysql -u root -pabc123
    73. 12、授权数据库给并刷新(允许所有主机使用root用户使用账号密码登录数据库,并且有所有权限)
    74. mysql> grant all on *.* to 'root'@'%' identified by 'abc123';
    75. Query OK, 0 rows affected, 1 warning (0.00 sec)
    76. mysql> flush privileges;
    77. Query OK, 0 rows affected (0.00 sec)


    ④安装php服务,修改配置文件

    1. 1、安装环境依赖包
    2. [root@myphp opt]# yum -y install gd \
    3. > libjpeg libjpeg-devel \
    4. > libpng libpng-devel \
    5. > freetype freetype-devel \
    6. > libxml2 libxml2-devel \
    7. > zlib zlib-devel \
    8. > curl curl-devel \
    9. > openssl openssl-devel pcre-devel
    10. 2、编译安装
    11. [root@myphp opt]# cd php-7.1.10
    12. [root@myphp php-7.1.10]# ./configure \
    13. > --prefix=/usr/local/php \
    14. > --with-mysql-sock=/usr/local/mysql/mysql.sock \
    15. > --with-mysqli \
    16. > --with-zlib \
    17. > --with-curl \
    18. > --with-gd \
    19. > --with-jpeg-dir \
    20. > --with-png-dir \
    21. > --with-freetype-dir \
    22. > --with-openssl \
    23. > --enable-fpm \
    24. > --enable-mbstring \
    25. > --enable-xml \
    26. > --enable-session \
    27. > --enable-ftp \
    28. > --enable-pdo \
    29. > --enable-tokenizer \
    30. > --enable-zip
    31. [root@myphp php-7.1.10]# make j2 && make install
    32. 3、路径优化
    33. ln -s /usr/local/php/bin/* /usr/local/bin/
    34. ln -s /usr/local/php/sbin/* /usr/local/sbin/

     有三个配置文件需要修改,文件中的程序用户统一为nginx

    • php.ini 主配置文件  
    • php-fpm.conf 进程服务配置文件
    • www.conf 扩展配置文件
    1. 4.修改配置文件
    2. 【修改php.ini主配置文件】
    3. [root@myphp php-7.1.10]# php --ini 查看文件所在位置
    4. Configuration File (php.ini) Path: /usr/local/php/lib
    5. Loaded Configuration File: (none)
    6. Scan for additional .ini files in: (none)
    7. Additional .ini files parsed: (none)
    8. [root@myphp php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
    9. [root@myphp php-7.1.10]# vim /usr/local/php/lib/php.ini
    10. 939行取消注释 date.timezone = Asia/Shanghai
    11. ----------------------------------------------------------------------------------------
    12. 【修改php-fpm.conf进程服务配置文件】
    13. [root@myphp php-7.1.10]# cd /usr/local/php/etc/
    14. [root@myphp etc]# ls
    15. pear.conf php-fpm.conf.default php-fpm.d
    16. [root@myphp etc]# cp php-fpm.conf.default php-fpm.conf
    17. [root@myphp etc]# ls
    18. pear.conf php-fpm.conf php-fpm.conf.default php-fpm.d
    19. [root@myphp etc]# vim php-fpm.conf
    20. 17行--去掉";"注释 pid = run/php-fpm.pid
    21. ----------------------------------------------------------------------------------------
    22. 【修改www.conf扩展配置文件】
    23. [root@myphp etc]# cd /usr/local/php/etc/php-fpm.d/
    24. [root@myphp php-fpm.d]# cp www.conf.default www.conf
    25. [root@myphp php-fpm.d]# ls
    26. www.conf www.conf.default
    27. [root@myphp php-fpm.d]# vim www.conf
    28. 23 user = nginx
    29. 24 group = nginx 修改用户名、组名都统一为nginx用户
    30. 36 listen = 192.168.170.100:9000 监听本机地址
    31. 62 listen.allowed_clients = 192.168.170.200 修改允许访问的客户端地址(这里即nginx服务器)
    1. 5【创建程序用户】
    2. [root@myphp php-fpm.d]# useradd -M -s /sbin/nologin nginx 创建nginx程序用户
    3. [root@myphp php-fpm.d]# cat /etc/passwd | grep nginx:
    4. nginx:x:1001:1001::/home/php:/sbin/nologin
    5. 6【启动php-fpm】PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。
    6. [root@myphp php-fpm.d]# cd /opt/php-7.1.10/sapi/fpm
    7. [root@myphp fpm]# ls
    8. config.m4 init.d.php-fpm Makefile.frag php-fpm.8.in php-fpm.service status.html.in www.conf.in
    9. CREDITS init.d.php-fpm.in php-fpm php-fpm.conf php-fpm.service.in tests
    10. fpm LICENSE php-fpm.8 php-fpm.conf.in status.html www.conf
    11. [root@myphp fpm]# cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
    12. [root@myphp fpm]# systemctl daemon-reload
    13. [root@myphp fpm]# systemctl restart php-fpm.service
    14. [root@myphp fpm]# systemctl enable php-fpm.service
    15. Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
    16. [root@myphp fpm]# netstat -lntp | grep php
    17. tcp 0 0 192.168.170.100:9000 0.0.0.0:* LISTEN 12450/php-fpm: mast

    ⑤验证

    先回到nginx服务器做以下配置

    1. [root@mynginx nginx-1.26.0]# vim /usr/local/nginx/conf/nginx.conf
    2. 3 worker_processes auto;
    3. 4 worker_rlimit_nofile 65535;
    4. 13 events {
    5. 14 use epoll;
    6. 15 worker_connections 65535;
    7. 16 }
    8. 37 server {
    9. 38 listen 80;
    10. 39 server_name www.xy101.com;
    11. 40
    12. 41 charset utf-8;
    13. 47 index index.html index.htm index.php;
    14. 45 location / { 这里的根目录为/usr/local/nginx/html
    15. 46 root html;
    16. 47 index index.html index.htm index.php;
    17. 48 }
    18. 67 location ~ \.php$ {
    19. 68 root /usr/local/nginx/html; 这里我统一用这个目录
    20. 69 fastcgi_pass 192.168.170.100:9000;
    21. 70 fastcgi_index index.php;
    22. 71 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    23. 72 include fastcgi_params;
    24. 73 }
    25. $document_root代表当前root指定的根目录(第一个location的root)
    26. [root@mynginx html]# nginx -t 检查语法
    27. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    28. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    29. [root@mynginx html]# systemctl restart nginx.service 重启服务
    30. -------------------------------------------------------------------------------

    【本机验证】 验证前可以先在Windows本地hosts文件中添加域名解析记录

    由于静态页面是由Nginx直接处理和响应的,所以测试页面直接能够访问。

    静态页面测试访问

    在本机Windows浏览器输入http://www.xy101.com/test.html

    1. 【创建静态页面文件】
    2. [root@mynginx ~]# cd /usr/local/nginx/html/
    3. [root@mynginx html]# rz -e (上传图片)
    4. [root@mynginx html]# vim test.html
    5. [root@mynginx html]# ls
    6. 50x.html index.html test.html tuifei.jpg

    动态页面测试访问

    在本机Windows浏览器输入http://www.xy101.com/test.php

    1. 【创建动态页面文件】
    2. [root@mynginx html]# vim test.php
    3. phpinfo();
    4. ?>
    5. ~  

    由于动态页面是Nginx通过fastcgi接口转发给php-fpm进程接受,然后再由php解析器处理解释动态页面后响应返回给Nginx,Nginx再返回给客户端的,所以此时我们如果用浏览器访问时找不到此文件的。需要在将动态页面位置共享给php服务器以便调用。

    1. 【安装共享程序并启动】
    2. [root@mynginx html]# yum install -y rpcbind nfs
    3. [root@mynginx html]# systemctl --now enable rpcbind nfs
    4. Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
    5. 【设置挂载点目录】
    6. [root@mynginx html]# vim /etc/exports 添加以下内容
    7. /usr/local/nginx/html 192.168.170.0/24(rw,sync,no_root_squash)
    8. [root@mynginx html]# showmount -e
    9. Export list for mynginx:
    10. /usr/local/nginx/html 192.168.170.0/24

    此时回到php服务器做以下操作

    1. 【确定是否能看到nginx服务器的共享目录】
    2. [root@myphp fpm]# showmount -e 192.168.170.200
    3. Export list for 192.168.170.200:
    4. /usr/local/nginx/html 192.168.170.0/24
    5. 【挂载目录】
    6. [root@myphp fpm]# vim /etc/fstab 添加以下配置
    7. 192.168.170.200:/usr/local/nginx/html /usr/local/nginx/html nfs defaults 0 0
    8. [root@myphp fpm]# mount -a
    9. [root@myphp fpm]# df -hT
    10. 文件系统 类型 容量 已用 可用 已用% 挂载点
    11. devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
    12. tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
    13. tmpfs tmpfs 1.9G 13M 1.9G 1% /run
    14. tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
    15. /dev/mapper/centos_pyx-root xfs 36G 5.1G 31G 15% /
    16. /dev/sda1 xfs 1014M 185M 830M 19% /boot
    17. tmpfs tmpfs 378M 32K 378M 1% /run/user/0
    18. /dev/sr0 iso9660 4.4G 4.4G 0 100% /mnt
    19. 192.168.170.200:/usr/local/nginx/html nfs4 38G 4.4G 33G 12% /usr/local/nginx/html
    20. 【查看nginx挂载点目录文件是否同步成功】
    21. [root@myphp fpm]# ls /usr/local/nginx/html/
    22. 50x.html index.html test.html test.php tuifei.jpg

    如果没有显示可以清空浏览器缓存重新输入访问路径,或者尝试回到nginx服务器重启nginx。

    调用数据库测试

    在本机Windows浏览器输入http://www.xy101.com/mysql.php

    1. 【创建一个mysql文件】nginx挂载点目录或php挂载的目录中,ip为mysql服务器的ip
    2. $link=mysqli_connect('192.168.170.30','root','abc123');
    3. if($link) echo "

      mysql connect successful

      "
      ;
    4. else echo "

      mysql connect failed

      "
      ;
    5. ?>

    此文件不管是在nginx服务器的/usr/local/nginx/html还是php服务器的/usr/local/nginx/html目录中创建的,都会同步。

    二、LNMP架构应用实例

    1.论坛网站应用

    ①nginx服务器上传压缩包并解压

    1. [root@mynginx opt]# rz -E
    2. [root@mynginx opt]# ls
    3. dir_SC_UTF8 Discuz_X3.4_SC_UTF8.zip nginx-1.26.0 nginx-1.26.0.tar.gz 说明.htm
    4. 【复制安装程序到共享目录中】
    5. [root@mynginx opt]# cd dir_SC_UTF8/
    6. [root@mynginx dir_SC_UTF8]# ls
    7. readme upload utility
    8. [root@mynginx dir_SC_UTF8]# cp -r upload/ /usr/local/nginx/html/discuz
    9. [root@mynginx dir_SC_UTF8]# cd /usr/local/nginx/html/
    10. [root@mynginx html]# ls
    11. 50x.html discuz index.html mysql.php test.html test.php tuifei.jpg

     ②php服务器上修改论坛目录的属主属组

    1. [root@myphp php-fpm.d]# cd /usr/local/nginx/html/
    2. [root@myphp html]# ll
    3. 总用量 152
    4. -rw-r--r-- 1 root root 497 6月 2 01:48 50x.html
    5. drwxr-xr-x 13 root root 4096 6月 2 04:50 discuz
    6. -rw-r--r-- 1 root root 615 6月 2 01:48 index.html
    7. -rw-r--r-- 1 root root 161 6月 2 04:27 mysql.php
    8. -rw-r--r-- 1 root root 52 6月 2 03:46 test.html
    9. -rw-r--r-- 1 root root 20 6月 2 03:31 test.php
    10. -rw-r--r-- 1 root root 129319 6月 2 03:44 tuifei.jpg
    11. [root@myphp html]# chown -R nginx:nginx discuz/
    12. [root@myphp html]# ll
    13. 总用量 152
    14. -rw-r--r-- 1 root root 497 6月 2 01:48 50x.html
    15. drwxr-xr-x 13 nginx nginx 4096 6月 2 04:50 discuz
    16. -rw-r--r-- 1 root root 615 6月 2 01:48 index.html
    17. -rw-r--r-- 1 root root 161 6月 2 04:27 mysql.php
    18. -rw-r--r-- 1 root root 52 6月 2 03:46 test.html
    19. -rw-r--r-- 1 root root 20 6月 2 03:31 test.php
    20. -rw-r--r-- 1 root root 129319 6月 2 03:44 tuifei.jpg

    ③nginx服务器上修改论坛目录归属 

    1. [root@mynginx html]# chown -R nginx:nginx discuz/
    2. [root@mynginx html]# ll
    3. 总用量 152
    4. -rw-r--r--. 1 root root 497 6月 2 01:48 50x.html
    5. drwxr-xr-x. 13 nginx nginx 4096 6月 2 04:50 discuz
    6. -rw-r--r--. 1 root root 615 6月 2 01:48 index.html
    7. -rw-r--r--. 1 root root 161 6月 2 04:27 mysql.php
    8. -rw-r--r--. 1 root root 52 6月 2 03:46 test.html
    9. -rw-r--r--. 1 root root 20 6月 2 03:31 test.php
    10. -rw-r--r--. 1 root root 129319 6月 2 03:44 tuifei.jpg

     ④mysql服务器上创建论坛的数据库

    1. mysql> show databases;
    2. +--------------------+
    3. | Database |
    4. +--------------------+
    5. | information_schema |
    6. | mysql |
    7. | performance_schema |
    8. | sys |
    9. +--------------------+
    10. 4 rows in set (0.00 sec)
    11. mysql> create database discuz;
    12. Query OK, 1 row affected (0.00 sec)
    13. mysql> show databases;
    14. +--------------------+
    15. | Database |
    16. +--------------------+
    17. | information_schema |
    18. | discuz |
    19. | mysql |
    20. | performance_schema |
    21. | sys |
    22. +--------------------+
    23. 5 rows in set (0.00 sec)
    24. mysql> grant all on discuz. * to 'root'@'%' identified by 'abc123';
    25. Query OK, 0 rows affected, 1 warning (0.00 sec)
    26. mysql> flush privileges;
    27. Query OK, 0 rows affected (0.00 sec)

    ⑤验证

    在浏览器输入http://www.xy101.com/discuz/index.php,成功会自动跳转到安装界面

    2.博客网站应用

    ①nginx服务器上传博客软件包,解压

    1. [root@mynginx html]# cd /opt/
    2. [root@mynginx opt]# rz -E
    3. [root@mynginx opt]# ls
    4. dir_SC_UTF8 nginx-1.26.0 wordpress-4.9.4-zh_CN.tar.gz
    5. Discuz_X3.4_SC_UTF8.zip nginx-1.26.0.tar.gz 说明.htm
    6. [root@mynginx opt]# tar xf wordpress-4.9.4-zh_CN.tar.gz
    7. [root@mynginx opt]# ls
    8. dir_SC_UTF8 nginx-1.26.0 wordpress 说明.htm
    9. Discuz_X3.4_SC_UTF8.zip nginx-1.26.0.tar.gz wordpress-4.9.4-zh_CN.tar.gz
    10. 【复制软件包目录到共享目录中】
    11. [root@mynginx opt]# cp -r wordpress
    12. wordpress/ wordpress-4.9.4-zh_CN.tar.gz
    13. [root@mynginx opt]# cp -r wordpress/ /usr/local/nginx/html/bbs
    14. [root@mynginx opt]# cd /usr/local/nginx/html/
    15. [root@mynginx html]# ls
    16. 50x.html bbs discuz index.html mysql.php test.html test.php tuifei.jpg
    17. 【修改论坛目录权限】
    18. [root@mynginx html]# ll
    19. 总用量 156
    20. -rw-r--r--. 1 root root 497 6月 2 01:48 50x.html
    21. drwxr-xr-x. 5 root root 4096 6月 2 05:26 bbs
    22. drwxr-xr-x. 13 nginx nginx 4096 6月 2 04:50 discuz
    23. -rw-r--r--. 1 root root 615 6月 2 01:48 index.html
    24. -rw-r--r--. 1 root root 161 6月 2 04:27 mysql.php
    25. -rw-r--r--. 1 root root 52 6月 2 03:46 test.html
    26. -rw-r--r--. 1 root root 20 6月 2 03:31 test.php
    27. -rw-r--r--. 1 root root 129319 6月 2 03:44 tuifei.jpg
    28. [root@mynginx html]# chown -R nginx:nginx bbs/
    29. [root@mynginx html]# ll
    30. 总用量 156
    31. -rw-r--r--. 1 root root 497 6月 2 01:48 50x.html
    32. drwxr-xr-x. 5 nginx nginx 4096 6月 2 05:26 bbs
    33. drwxr-xr-x. 13 nginx nginx 4096 6月 2 04:50 discuz
    34. -rw-r--r--. 1 root root 615 6月 2 01:48 index.html
    35. -rw-r--r--. 1 root root 161 6月 2 04:27 mysql.php
    36. -rw-r--r--. 1 root root 52 6月 2 03:46 test.html
    37. -rw-r--r--. 1 root root 20 6月 2 03:31 test.php
    38. -rw-r--r--. 1 root root 129319 6月 2 03:44 tuifei.jpg

    ②php服务器共享目录中修改目录权限

    1. [root@myphp php-fpm.d]# cd /usr/local/nginx/html/
    2. [root@myphp html]# ll
    3. 总用量 156
    4. -rw-r--r-- 1 root root 497 6月 2 01:48 50x.html
    5. drwxr-xr-x 5 php php 4096 6月 2 05:26 bbs
    6. drwxr-xr-x 13 php php 4096 6月 2 04:50 discuz
    7. -rw-r--r-- 1 root root 615 6月 2 01:48 index.html
    8. -rw-r--r-- 1 root root 161 6月 2 04:27 mysql.php
    9. -rw-r--r-- 1 root root 52 6月 2 03:46 test.html
    10. -rw-r--r-- 1 root root 20 6月 2 03:31 test.php
    11. -rw-r--r-- 1 root root 129319 6月 2 03:44 tuifei.jpg
    12. [root@myphp html]# chown -R nginx:nginx discuz/
    13. [root@myphp html]# chown -R nginx:nginx bbs/
    14. [root@myphp html]# ll
    15. 总用量 156
    16. -rw-r--r-- 1 root root 497 6月 2 01:48 50x.html
    17. drwxr-xr-x 5 nginx nginx 4096 6月 2 05:26 bbs
    18. drwxr-xr-x 13 nginx nginx 4096 6月 2 04:50 discuz
    19. -rw-r--r-- 1 root root 615 6月 2 01:48 index.html
    20. -rw-r--r-- 1 root root 161 6月 2 04:27 mysql.php
    21. -rw-r--r-- 1 root root 52 6月 2 03:46 test.html
    22. -rw-r--r-- 1 root root 20 6月 2 03:31 test.php
    23. -rw-r--r-- 1 root root 129319 6月 2 03:44 tuifei.jpg

    ③mysql服务器创建bbs数据库并刷新

    1. mysql> create database bbs;
    2. Query OK, 1 row affected (0.00 sec)
    3. mysql> flush privileges;
    4. Query OK, 0 rows affected (0.00 sec)
    5. mysql> show databases;
    6. +--------------------+
    7. | Database |
    8. +--------------------+
    9. | information_schema |
    10. | bbs |
    11. | discuz |
    12. | mysql |
    13. | performance_schema |
    14. | sys |
    15. +--------------------+
    16. 6 rows in set (0.00 sec)

    ④验证

    在本机浏览器输入http://www.xy101.com/bbs/index.php

     【课后练习】使用shell脚本一键部署LNMP架构

  • 相关阅读:
    Spring循环依赖
    安全防范之警惕钓鱼邮件
    刷题记录:牛客NC51170石子合并
    计算机网络第八章知识点回顾(自顶向下)
    安全性第一!OpenWRT配置SFTP远程文件传输,实现数据安全保护
    《语义增强可编程知识图谱SPG》白皮书
    Selenium 自动化 —— 使用WebDriverManager自动下载驱动
    Java实现归并排序算法
    Vue2+ElementUI 静态首页案例
    CTFShow re3
  • 原文地址:https://blog.csdn.net/2401_83883919/article/details/139287879