需求查看Nginx的运行状态包括当前连接数请求总数每秒请求数QPS各虚拟主机访问情况HTTP状态码统计200、404、500等要求1.查看当前Nginx版本2.下载对应版本源码3.下载nginx-module-vts模块4.编译安装模块或重新编译添加模块5.修改nginx.conf配置6.配置/status7.重载Nginx8.浏览器访问状态页面提交内容nginx.conf关键配置编译命令访问状态页面截图简述nginx-module-vts的作用100字左右nginx-module-vts 是 Nginx 第三方流量监控模块能够采集活跃连接、请求总量、QPS、上下行流量以及各类 HTTP 状态码等数据支持按虚拟主机统计流量指标。通过 /status 页面以网页形式展示监控信息方便运维查看流量变化快速排查网站访问异常Linux Nginx MySQL PHP搭建论坛一、环境准备Linux服务器NginxMySQLPHP二、数据库创建论坛数据库要求创建数据库创建数据库用户授权访问安装编译工具和依赖库yum -y install gcc gcc-c ncurses ncurses-devel bison cmake- gcc / gcc-c编译工具- ncurses / ncurses-devel字符终端交互库- bison语法分析器- cmakeMySQL 编译工具创建MySQL专用用户useradd -s /sbin/nologin mysql源码解压与依赖处理tar zxvf mysql-5.7.20.tar.gz -C /opt/srccd /opt/src/mysql-5.7.20# 编译安装cmake \-DCMAKE_INSTALL_PREFIX/usr/local/mysql \ #指定mysql的安装路径-DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件数据库连接文件的存储路径-DSYSCONFDIR/etc \ #指定配置文件的存储路径:/etc/my.cnf-DSYSTEMD_PID_DIR/usr/local/mysql \ #指定进程文件的存储路径-DDEFAULT_CHARSETutf8 \ #指定默认使用的字符集编码如 utf8-DDEFAULT_COLLATIONutf8_general_ci \ #指定默认使用的字符集校对规则-DWITH_EXTRA_CHARSETSall \ #指定支持其他字符集编码-DWITH_INNOBASE_STORAGE_ENGINE1 \ #安装INNOBASE存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE1 \ #安装ARCHIVE存储引擎-DWITH_BLACKHOLE_STORAGE_ENGINE1 \ #安装BLACKHOLE存储引擎-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ #安装FEDERATED存储引擎-DMYSQL_DATADIR/usr/local/mysql/data \ #指定数据库文件的存储路径-DWITH_BOOST/usr/local/boost \ #指定boost的路径若使用mysql-boost集成包安装则-DWITH_BOOSTboost-DWITH_SYSTEMD1 #生成便于systemctl管理的文件make make install权限设置chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf修改mysql 配置文件vim /etc/my.cnf[client]port 3306socket/usr/local/mysql/mysql.sock[mysqld]user mysqlbasedir/usr/local/mysqldatadir/usr/local/mysql/dataport 3306character-set-serverutf8pid-file /usr/local/mysql/mysqld.pidsocket/usr/local/mysql/mysql.sockbind-address 0.0.0.0skip-name-resolvemax_connections2048default-storage-engineINNODBmax_allowed_packet16Mserver-id 1sql_modeNO_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设置路径环境变量echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profilesource /etc/profile初始化数据库cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \--usermysql \--basedir/usr/local/mysql \--datadir/usr/local/mysql/data添加mysqld系统服务cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reloadsystemctl start mysqld.servicesystemctl enable mysqld# 修改mysql 的登录密码mysqladmin -u root -p password 12345# 授权远程登录mysql -u root -p三、论坛部署可任选一种论坛程序DiscuzphpBB或其他PHP论坛完成下载程序解压部署配置网站目录配置PHP配置Nginx虚拟主机完成安装向导安装环境依赖包um -y install gd \libjpeg libjpeg-devel \libpng libpng-devel \freetype freetype-devel \libxml2 libxml2-devel \zlib zlib-devel \curl curl-devel \openssl openssl-devel编译安装cd /opttar jxvf php-7.1.10.tar.bz2cd php-7.1.10./configure \--prefix/usr/local/php \--with-mysql-sock/usr/local/mysql/mysql.sock \--with-mysqli \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zipmake make install优化系统路径# 创建软链接使PHP相关命令ln -s /usr/local/php/bin/* /usr/local/bin/ln -s /usr/local/php/sbin/* /usr/local/sbin/调整主配置文件php.inicp /opt/src/php-7.1.10/php.ini-development /usr/local/php/lib/php.inivim /usr/local/php/lib/php.ini# 修改以下内容--1170行--修改mysqli.default_socket /usr/local/mysql/mysql.sock--939行--取消注释修改date.timezone Asia/Shanghai # 时区设置# 验证安装的模块php -m调整进程服务配置文件php-fpm.confcd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.confvim php-fpm.conf# 17行取消pid行的注释pid run/php-fpm.pid调整扩展配置文件www.confcd /usr/local/php/etc/php-fpm.d/cp www.conf.default www.conf启动php-fpm/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000#PHP-FPM(FastCGI Process ManagerFastCGI 进程管理器)是一个 PHPFastCGI 管理器 由于Nginx服务器不能处理动态页面需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。cd /opt/php-7.1.10/sapi/fpmcp php-fpm.service /usr/lib/systemd/system/php-fpm.servicesystemctl restart php-fpm.service配置 Nginx 支持 PHP 解析vim /usr/local/nginx/conf/nginx.conf--65行--取消注释修改location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #将 /scripts 修改为nginx的工作目录#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root 代表当前请求在root指令中指定的值include fastcgi_params;}systemctl restart nginx.service验证PHP 测试页vim /usr/local/nginx/html/index.php?phpphpinfo();?浏览器访问http://10.8.0.10/index.php验证数据库工作是否正常mysql -u root -pCREATE DATABASE bbs;GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123;GRANT all ON bbs.* TO bbsuserlocalhost IDENTIFIED BY admin123;flush privileges;vim /usr/local/nginx/html/index.php #替换原来的测试页内容?php$linkmysqli_connect(10.8.0.10,bbsuser,admin123);if($link) echo h1Success!!/h1;else echo Fail!!;?浏览器访问http://10.8.0.10/index.php部署 Discuz社区论坛 Web 应用cd /optunzip Discuz_X3.4_SC_UTF8.zip -d /opt/discd /opt/dis/dir_SC_UTF8/cp -r upload/ /usr/local/nginx/html/bbs/调整论坛目录的权限cd /usr/local/nginx/html/bbs/chown -R nginx ./config/chown -R nginx ./data/chown -R nginx ./uc_client/chown -R nginx ./uc_server/或chmod -R 777 ./config/chmod -R 777 ./data/chmod -R 777 ./uc_client/chmod -R 777 ./uc_server/论坛页面访问http://192.168.10.10/bbs/install/index.php四、功能测试完成以下测试用户注册用户登录发布帖子回复帖子上传图片如支持五、总结部署过程中遇到的问题及解决方法不少于200字部署 Discuz 论坛时出现多处问题。首先访问安装页面提示数据库连接失败核查发现 MySQL 未创建对应数据库且没有开放远程访问权限新建数据库并授权后恢复正常。其次安装界面出现文件目录不可写警告通过chmod命令修改目录读写权限解决。访问网站出现 500 错误排查得知 php 配置缺少必要扩展安装对应 php 扩展并重启服务。同时防火墙未开放 80 端口外部无法访问站点放行端口后外网正常打开。本次实践让我了解到论坛部署重点关注数据库配置、目录权限、PHP 组件与防火墙遇到故障优先查看服务日志快速定位问题。提交内容1.部署流程文字说明2. Nginx配置文件3.数据库创建命令4.网站首页截图5.发帖成功截图6.回复帖子截图7.总结部署过程中遇到的问题及解决方法不少于200字
Nginx 添加访问状态模块
需求查看Nginx的运行状态包括当前连接数请求总数每秒请求数QPS各虚拟主机访问情况HTTP状态码统计200、404、500等要求1.查看当前Nginx版本2.下载对应版本源码3.下载nginx-module-vts模块4.编译安装模块或重新编译添加模块5.修改nginx.conf配置6.配置/status7.重载Nginx8.浏览器访问状态页面提交内容nginx.conf关键配置编译命令访问状态页面截图简述nginx-module-vts的作用100字左右nginx-module-vts 是 Nginx 第三方流量监控模块能够采集活跃连接、请求总量、QPS、上下行流量以及各类 HTTP 状态码等数据支持按虚拟主机统计流量指标。通过 /status 页面以网页形式展示监控信息方便运维查看流量变化快速排查网站访问异常Linux Nginx MySQL PHP搭建论坛一、环境准备Linux服务器NginxMySQLPHP二、数据库创建论坛数据库要求创建数据库创建数据库用户授权访问安装编译工具和依赖库yum -y install gcc gcc-c ncurses ncurses-devel bison cmake- gcc / gcc-c编译工具- ncurses / ncurses-devel字符终端交互库- bison语法分析器- cmakeMySQL 编译工具创建MySQL专用用户useradd -s /sbin/nologin mysql源码解压与依赖处理tar zxvf mysql-5.7.20.tar.gz -C /opt/srccd /opt/src/mysql-5.7.20# 编译安装cmake \-DCMAKE_INSTALL_PREFIX/usr/local/mysql \ #指定mysql的安装路径-DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件数据库连接文件的存储路径-DSYSCONFDIR/etc \ #指定配置文件的存储路径:/etc/my.cnf-DSYSTEMD_PID_DIR/usr/local/mysql \ #指定进程文件的存储路径-DDEFAULT_CHARSETutf8 \ #指定默认使用的字符集编码如 utf8-DDEFAULT_COLLATIONutf8_general_ci \ #指定默认使用的字符集校对规则-DWITH_EXTRA_CHARSETSall \ #指定支持其他字符集编码-DWITH_INNOBASE_STORAGE_ENGINE1 \ #安装INNOBASE存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE1 \ #安装ARCHIVE存储引擎-DWITH_BLACKHOLE_STORAGE_ENGINE1 \ #安装BLACKHOLE存储引擎-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ #安装FEDERATED存储引擎-DMYSQL_DATADIR/usr/local/mysql/data \ #指定数据库文件的存储路径-DWITH_BOOST/usr/local/boost \ #指定boost的路径若使用mysql-boost集成包安装则-DWITH_BOOSTboost-DWITH_SYSTEMD1 #生成便于systemctl管理的文件make make install权限设置chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf修改mysql 配置文件vim /etc/my.cnf[client]port 3306socket/usr/local/mysql/mysql.sock[mysqld]user mysqlbasedir/usr/local/mysqldatadir/usr/local/mysql/dataport 3306character-set-serverutf8pid-file /usr/local/mysql/mysqld.pidsocket/usr/local/mysql/mysql.sockbind-address 0.0.0.0skip-name-resolvemax_connections2048default-storage-engineINNODBmax_allowed_packet16Mserver-id 1sql_modeNO_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设置路径环境变量echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profilesource /etc/profile初始化数据库cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \--usermysql \--basedir/usr/local/mysql \--datadir/usr/local/mysql/data添加mysqld系统服务cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reloadsystemctl start mysqld.servicesystemctl enable mysqld# 修改mysql 的登录密码mysqladmin -u root -p password 12345# 授权远程登录mysql -u root -p三、论坛部署可任选一种论坛程序DiscuzphpBB或其他PHP论坛完成下载程序解压部署配置网站目录配置PHP配置Nginx虚拟主机完成安装向导安装环境依赖包um -y install gd \libjpeg libjpeg-devel \libpng libpng-devel \freetype freetype-devel \libxml2 libxml2-devel \zlib zlib-devel \curl curl-devel \openssl openssl-devel编译安装cd /opttar jxvf php-7.1.10.tar.bz2cd php-7.1.10./configure \--prefix/usr/local/php \--with-mysql-sock/usr/local/mysql/mysql.sock \--with-mysqli \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zipmake make install优化系统路径# 创建软链接使PHP相关命令ln -s /usr/local/php/bin/* /usr/local/bin/ln -s /usr/local/php/sbin/* /usr/local/sbin/调整主配置文件php.inicp /opt/src/php-7.1.10/php.ini-development /usr/local/php/lib/php.inivim /usr/local/php/lib/php.ini# 修改以下内容--1170行--修改mysqli.default_socket /usr/local/mysql/mysql.sock--939行--取消注释修改date.timezone Asia/Shanghai # 时区设置# 验证安装的模块php -m调整进程服务配置文件php-fpm.confcd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.confvim php-fpm.conf# 17行取消pid行的注释pid run/php-fpm.pid调整扩展配置文件www.confcd /usr/local/php/etc/php-fpm.d/cp www.conf.default www.conf启动php-fpm/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000#PHP-FPM(FastCGI Process ManagerFastCGI 进程管理器)是一个 PHPFastCGI 管理器 由于Nginx服务器不能处理动态页面需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。cd /opt/php-7.1.10/sapi/fpmcp php-fpm.service /usr/lib/systemd/system/php-fpm.servicesystemctl restart php-fpm.service配置 Nginx 支持 PHP 解析vim /usr/local/nginx/conf/nginx.conf--65行--取消注释修改location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #将 /scripts 修改为nginx的工作目录#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root 代表当前请求在root指令中指定的值include fastcgi_params;}systemctl restart nginx.service验证PHP 测试页vim /usr/local/nginx/html/index.php?phpphpinfo();?浏览器访问http://10.8.0.10/index.php验证数据库工作是否正常mysql -u root -pCREATE DATABASE bbs;GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123;GRANT all ON bbs.* TO bbsuserlocalhost IDENTIFIED BY admin123;flush privileges;vim /usr/local/nginx/html/index.php #替换原来的测试页内容?php$linkmysqli_connect(10.8.0.10,bbsuser,admin123);if($link) echo h1Success!!/h1;else echo Fail!!;?浏览器访问http://10.8.0.10/index.php部署 Discuz社区论坛 Web 应用cd /optunzip Discuz_X3.4_SC_UTF8.zip -d /opt/discd /opt/dis/dir_SC_UTF8/cp -r upload/ /usr/local/nginx/html/bbs/调整论坛目录的权限cd /usr/local/nginx/html/bbs/chown -R nginx ./config/chown -R nginx ./data/chown -R nginx ./uc_client/chown -R nginx ./uc_server/或chmod -R 777 ./config/chmod -R 777 ./data/chmod -R 777 ./uc_client/chmod -R 777 ./uc_server/论坛页面访问http://192.168.10.10/bbs/install/index.php四、功能测试完成以下测试用户注册用户登录发布帖子回复帖子上传图片如支持五、总结部署过程中遇到的问题及解决方法不少于200字部署 Discuz 论坛时出现多处问题。首先访问安装页面提示数据库连接失败核查发现 MySQL 未创建对应数据库且没有开放远程访问权限新建数据库并授权后恢复正常。其次安装界面出现文件目录不可写警告通过chmod命令修改目录读写权限解决。访问网站出现 500 错误排查得知 php 配置缺少必要扩展安装对应 php 扩展并重启服务。同时防火墙未开放 80 端口外部无法访问站点放行端口后外网正常打开。本次实践让我了解到论坛部署重点关注数据库配置、目录权限、PHP 组件与防火墙遇到故障优先查看服务日志快速定位问题。提交内容1.部署流程文字说明2. Nginx配置文件3.数据库创建命令4.网站首页截图5.发帖成功截图6.回复帖子截图7.总结部署过程中遇到的问题及解决方法不少于200字