【无标题】

  1. 画图解释一次web请求的过程。涉及tcp/ip, dns, nginx,wsgi。
    在这里插入图片描述

  2. 编译安装nginx, 详细解读常用参数。
    2.1.安装nginx依赖包
    [root@localhost ~]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
    2.2.上传nginx源码包并解压并创建启动nginx的www用户
    [root@localhost ~]# tar -xf nginx-1.18.0.tar.gz
    [root@localhost nginx-1.18.0]# useradd -s /sbin/nologin www
    2.3.进入nginx目录并指定编译参数
    [root@localhost ~]# cd nginx-1.18.0
    [root@localhost nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with- http_stub_status_module//–prefix 指定nginx程序安装目录 --user 指定程序启动所属用户 --group 指定程序启动所属组 --with-http_ssl_module 启用nginx的SSL模块 --with- http_stub_status_module 用来监控nginx状态的模块
    2.4.安装并编译
    [root@localhost nginx-1.18.0]# make && make install
    2.5.启动nginx程序
    [root@localhost nginx-1.18.0]# cd /usr/local/nginx/sbin/
    [root@localhost sbin]# ./nginx
    2.6.访问测试
    在这里插入图片描述

  3. 基于nginx完成动静分离部署 lamp。php到后端php-fpm, static/ 在nginx本地。
    3.1.apache安装
    3.1.1.apache依赖安装
    (1)安装依赖
    [root@localhost ~]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
    (2)安装apr和apr-util //apr主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
    [root@localhost ~]# tar xf apr-1.7.0.tar.gz
    [root@localhost ~]# cd apr-1.7.0
    [root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
    安装时报错
    在这里插入图片描述
    解决办法:在apr-1.7.0目录下找到configure文件,在该文件中找到RM=‘$ RM’这一行 修改为RM=’$RM -f’,修改完成后保存,重新编译后解决
    在这里插入图片描述
    [root@localhost apr-1.7.0]# make && make install
    安装apr-util:
    [root@localhost apr-1.7.0]# yum install expat expat-devel -y
    [root@localhost ~]# tar -xf apr-util-1.6.1.tar.gz
    [root@localhost ~]# cd apr-util-1.6.1
    [root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    [root@localhost apr-util-1.6.1]# make && make install
    安装pcre:
    [root@localhost ~]# tar -xf pcre-8.41.tar.gz
    [root@localhost ~]# cd pcre-8.41
    [root@localhost pcre-8.41]# ./configure --prefix=/usr/local/pcre
    [root@localhost pcre-8.41]# make && make install

编译安装apache
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y make gcc-c++ cmake bison-devel ncurses-devel lib tool bison perl perl-devel perl perl-devel
[root@localhost ~]# tar -xf httpd-2.4.54.tar.gz
[root@localhost httpd-2.4.54]# ./configure --prefix=/usr/local/apache2 --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so–enable-modules=most–enable-mods-shared=all–with-included-apr–enable-rewrite-=shared //–enable-so 表示允许运行时加载DSO模块 --enable-modules=most表示支持动态启用模块,most表示启用常用模块,all表示启用所有模块 --enable-mods-shared=all 表示动态地编译所有的模块 --enable-rewrite-=shared表示将rewrite这个模块编译成动态的
[root@localhost httpd-2.4.54]# make && make install
测试:
[root@localhost bin]# ./apachectl start
[Mon Aug 01 20:30:42.062150 2022] [:crit] [pid 77588] (38)Function not implemented: AH00141: Could not initialize random number generator
解决办法
更新内核版本
yum -y update
在http.conf文件中将
ServerName you@example.com 改成
ServerName localhost:80

启动apache
[root@localhost bin]# ./apachectl start
在这里插入图片描述
编译安装mysql
[root@localhost ~]# tar -xf mysql-boost-5.7.23.tar.gz -C /usr/local
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
[root@localhost local]# cd mysql-5.7.23/
[root@localhost mysql-5.7.23]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/db/data \ //指定mysql数据存放路径
-DEXTRA_CHARSETS=all \ //表示安装所有的扩展字符集
-DDEFAULT_CHARSET=utf8 \ //指定默认字符集为uft8
-DDEFAULT_COLLATION=utf8_general_ci \ //设置uft8默认排序规则
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //表示启用支持InnoDB引擎
-DWITH_MYSQL_STORAGE_ENGINE=1 \ //表示启用支持MyISAM引擎
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
-DWITH_BOOST=boost \ //指定boost库的路径
-DENABLED_LOCAL_INFILE=1 \ //表示允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ //表示安装支持数据库分区
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ //指定连接数据库socket文件的路径
-DWITH_EMBEDDED_SERVER=1 //表示支持嵌入式服务器

[root@localhost mysql-5.7.23]# make && make install
[root@localhost mysql-5.7.23]# mkdir /db/data
[root@localhost mysql-5.7.23]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/db/data
修改mysql配置文件my.cnf
[mysqld]
datadir=/db/data
socket=/tmp/mysqld.sock
log-error=/var/log/mysqld.log
配置mysql启动脚本
[root@localhost mysql-5.7.23]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.7.23]# chmod 755 /etc/init.d/mysqld
[root@localhost mysql-5.7.23]# chkconfig --add mysqld
[root@localhost mysql-5.7.23]# chkconfig mysqld on
[root@localhost mysql-5.7.23]# service mysqld start
Starting MySQL. SUCCESS!
修改环境变量
PATH=/usr/local/mysql/bin:$PATH
export PATH
[root@localhost mysql-5.7.23]# source /etc/profile

安装php
[root@localhost ~]# yum install -y libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
[root@localhost php-7.4.30]# yum install -y sqlite-devel.x86_64
[root@localhost ~]# tar -xf php-7.4.30.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/php-7.4.30/

[root@localhost php-7.4.30]#
./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --disable-mbregex --enable-xml --enable-session --enable-ftp --enable-pdo -enable-tokenizer --enable-zip --with-apxs2=/usr/local/apache2/bin/apxs

[root@localhost ~]#cd /usr/local/php7/etc/php-fpm.d
[root@localhost php-fpm.d]# cp www.conf.default www.conf
[root@localhost sbin]# cd /usr/local/php7/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf

在apache的配置文件httpd.conf最后加上一条配置
Addtype application/x-httpd-php .php .phtml

< IfModule dir_module>
DirectoryIndex index.php index.html
< /IfModule>
重新启动apache
[root@localhost conf]# /usr/local/apache2/bin/apachectl restart

测试LAMP
写一个连接mysql的测试

<?php $conn=mysqli_connect('127.0.0.1','root','','mysql'); if(!$conn){ die("数据库连接错误" . mysqli_connect_error()); }else{ echo "数据库连接成功"; } ?>

在这里插入图片描述
配置动静分离
location ~ .php$ {
proxy_pass http://192.168.8.12;
}

  1. nginx 利用rewrite完成 全栈ssl配置。

5.(可选)有兴趣,可以完成acme完成自动SSL签发。

  1. 通过zabbix监控nginx状态,web网站健康状态。

6.1添加监控nginx的主机。
在这里插入图片描述

6.2添加监控项
在这里插入图片描述

6.3添加触发器
在这里插入图片描述
在这里插入图片描述

  1. 简要描述后期学习的计划。
    从架构课程学起,每周一到周五进行视频学习,周六日对本周以及以前的知识点进行复习和总结,并完成每周留的作业。每一个月对之前所学的知识进行回忆,并能画出所学课程的基本框架,能大致对所学知识点进行一个简单的描述。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值