nginx + php + mysql安装、配置、自启动+redis扩展
用过了apache就想着用用nginx,网上教程其实很多,但是受服务器版本等限制,每个人遇到的问题也不一样,先记录下我的
一.安装依赖
- yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel //一键安装四个依赖
二.下载nginx的tar包
- //创建一个文件夹
- cd /usr/local
- mkdir nginx
- cd nginx
- //下载tar包 没有wget命令,可以yum -y install wget进行安装
- wget http://nginx.org/download/nginx-1.13.7.tar.gz
- //解压
- tar -xvf nginx-1.13..tar.gz
三.安装nginx
- //进入nginx目录
- cd /usr/local/nginx/nginx-1.13.
- //执行命令
- ./configure
- //执行make命令,,执行后会告诉你配置文件(根目录/conf/nginx.conf)和日志文件位置(根目录/logs/error.log)
- make
- //执行make install命令
- make install
四.启动nginx前
防火墙开通8090端口,用于nginx;且服务器控制台安全组也要开通好:firewall-cmd --zone=public --add-port=8090/tcp --permanent
sudo vim /usr/local/nginx/conf/nginx.conf
因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。linux 修改路径/usr/local/nginx/conf/nginx.conf,Windows 下 安装目录\conf\nginx.conf。修改端口为8090,localhost修改为你服务器ip地址。
检查配置是否正确:sbin目录下:./nginx -t
五.启动nginx
启动代码格式:nginx安装目录地址 -c nginx配置文件地址;如:[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
六.验证,若无法打开关闭防火墙看看是否为防火墙问题
Nginx虚拟域名配置及测试验证
- //编辑nginx.conf
- sudo vim /usr/local/nginx/conf/nginx.conf
- //增加行,,,在http{}的最下面
- include vhost/*.conf
- //保存退出
- //在/usr/local/nginx/conf目录新建vhost文件夹
- mkdir vhost
- //创建每个域名的配置
- sudo vim jimisun.com.conf
- //节点中增加入响应的配置 端口转发 或者访问文件系统
附一下vhost.conf的内容
- server {
- listen 8090;
- server_name ip地址;
- location / {
- index index.html index.htm index.php;
- if (!-e $request_filename){
- rewrite ^/(.*) /index.php last;
- }
- #autoindex on;
- }
- location ~ \.php$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- }
再附一下我本地使用phpstudy的域名站点配置(已经配置好了php7)
- server {
- listen 80;
- server_name www.local-cps.cn local-cps.cn;
- root "项目的起始包含index.php文件的文件夹全路径";
- location / {
- index index.html index.htm index.php;
- #autoindex on;
- }
- location ~ \.php(.*)$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
- include fastcgi_params;
- }
- }
Nginx重启:
方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可。(./nginx -t检查配置是否有误)
方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务
查看Nginx运行状况:有结果为正在运行,反之没有运行。
- ps -a | grep nginx
Nginx启动:
进入nginx可执行目录sbin下,输入命令./nginx 即可。
chkconfig:检查系统的各种服务。
设置Nginx开机自启动:
- vi /etc/rc.local
添加/usr/local/nginx/sbin/nginx即可。
注意设置执行权限哦。chmod 755 rc.local
PHP7(7.2.12):
一.下载依赖
- 目录/usr/local下新建php文件夹,并下载php软件包
- wget http://am1.php.net/get/php-7.2.12.tar.bz2/from/this/mirror //注意,小心下载下来的是页面,否则没法解压缩,file 文件名 命令查看
- 安装tar及bzip2
- yum install -y tar
- yum -y install bzip2
- 解压php压缩包:ps:若wget后的是mirror文件,则tar xjvf mirror即可
- tar xjvf php-7.2.12.tar.bz2 安装php需要的扩展: yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
二.开始安装
- //进入php-7.2.12目录
- cd /usr/local/php/php-7.2.
- //执行命令,prefix安装到指定位置,,注意,若安装php5.6需要在后面加上--with-mysql
- ./configure --prefix=/usr/local/php720 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
- //编译安装:
- make make install
配置nginx.conf支持php:
打开nginx配置文件(/usr/local/nginx/conf/nginx.conf),找到localtion模块,在index后面添加index.php,使nginx识别php文件;
启动php-fpm:
将php-fpm.conf.default复制为php-fpm.conf
cd /usr/local/php720/etc
cp php-fpm.conf.default php-fpm.conf
然后启动php-fpm
/usr/local/php720/sbin/php-fpm
如果启动报错(如下图):
解决方法:进入到 /usr/local/php720/etc/php-fmp.d下的www.conf.default 复制为www.conf,然后启动php-fpm;
进入文件夹(如果进不去,就一步步的cd进去; 如果没有这个文件就自己创建个php-fpm.d文件夹,再进到网址下载www.conf文件:https://pan.baidu.com/s/1o8mRYkU)
cd /usr/local/php720/etc/php-fpm.d
cp www.conf.default www.conf
解决后,先把php-fpm进程清除
pkill php-fpm
再启动php-fpm
/usr/local/php720/sbin/php-fpm
最后在/usr/local/nginx/html下新建文件index.php,输出phpinfo();
vi index.php
运行ip,如下
配置php-fpm自启动:
- vi /etc/rc.local
添加/usr/local/php7012/sbin/php-fpm即可。
注意设置执行权限哦。chmod 755 rc.local
安装后若发现php -v 和phpinfo()下的版本不一致,则是因为系统和nginx所有的php.ini目录不一致,具体解决:
https://blog.csdn.net/feiwutudou/article/details/80049567
centos6.6下安装mysql(5.7):
- //下载 mysql的repo
- # wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
- //安装mysql源安装包
- # rpm -ivh mysql57-community-release-el6-.noarch.rpm
- //安装Mysql
- yum -y install mysql-community-server
- //若报错:Error downloading packages.....No more mirrors to try。原因是下载包失败,清理缓存yum clean all,再yum list,再执行yum -y install mysql-community-server,多试几次,若还是不行,error后再重新执行yum -y install mysql-community-server(我最后就这样搞好的)。ps:因为镜像下载确实慢
- //启动Mysql服务
- service mysqld start
- //设置开机启动
- [root@localhost ~]# service enable mysqld
- [root@localhost ~]# service daemon-reload
- [root@localhost ~]# chkconfig --list
之后和centos7步骤一样了。之所以采用el6而不是el7,是因为centos的版本不同,gcc过低,所以导致报错:Requires: libstdc++.so.6(GLIBCXX_3.4.15)
centos7下安装mysql(5.7):
https://blog.csdn.net/chenjiayi_yun/article/details/16920967
一.下载依赖
- //CentOS7的yum源中默认是没有mysql的。所以要先下载mysql的repo源。
- //下载 mysql的repo
- # wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- //安装mysql源安装包
- # rpm -ivh mysql57-community-release-el7-11.noarch.rpm
- //安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
- //安装Mysql
- yum -y install mysql-community-server
- //启动Mysql服务
- systemctl start mysqld
- //设置开机启动
- [root@localhost ~]# systemctl enable mysqld
- [root@localhost ~]# systemctl daemon-reload
- [root@localhost ~]# chkconfig --list
修改mysql root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。[root@localhost ~]# more /var/log/mysqld.log,也可使用cat查看
临时密码:in1N=ERmABRb
登陆mysql并修改密码:mysql -u root -pin1N=ERmABRb,报错的话可以使用mysql -u root -p即不适用明文登入
- //登入
- $ mysql -u root -pin1N=ERmABRb
- //修改密码为Aaa2019.cn
- mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aaa2019.cn';
- Query OK, 0 rows affected (0.00 sec)
- //注意, mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位
设置允许远程登录
- //Mysql默认不允许远程登录,我们需要设置下,并且防火墙开放3306端口;
- mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Aaa2019.cn' WITH GRANT OPTION;
- //返回
- Query OK, 0 rows affected, 1 warning (0.01 sec)
- //退出
- mysql> exit;
- //设置端口
- [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
- //返回
- success
- //重启防火墙
- [root@localhost ~]# firewall-cmd --reload
如果是阿里云服务器:须设置安全组配置,开放3306端口,允许远程连接
赋予文件权限chmod -R 777 *
查看配置
# cat /etc/my.cnf
在这里错误日志的位置都有。
附mysql7.3.23的安装:
一.下载依赖
下载mysql:https://dev.mysql.com/downloads/cluster/7.3.html
- wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.23-linux-glibc2.12-x86_64.tar.gz
- //解压:
- tar -xvzf mysql-cluster-gpl-7.3.23-linux-glibc2.12-x86_64.tar.gz
- //重命名:
- mv mysql-cluster-gpl-7.3.23-linux-glibc2.12-x86_64 mysql-7.3.23
- //复制命名后的目录
- cp -r mysql-7.3.23 /usr/local/mysql7323
- //添加用户组和用户:
- cd /usr/local/mysql7323
- #添加用户组
- groupadd mysql
- //#添加用户mysql 到用户组mysql
- useradd -g mysql mysql
- //创建mysql数据目录,新目录不存在则创建:
- mkdir ./data/mysql 或 mkdir /usr/local/mysql7323/data/mysql
- //mysql安装根目录下修改目录权限:
- chown -R mysql:mysql ./
初始化数据库:(注意路径)
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql7323 --datadir=/usr/local/mysql7323/data
问题报错:提示没有安装perl,原因:缺少perl模块中的Data::Dumper
yum -y install autoconf //安装autoconf库(此包安装时会安装Data:Dumper模块)
再次执行初始化报错:原因:缺少libaio库文件
解决方法:yum install libaio* -y
再次执行初始化ok
- //修改权限为root权限:
- chown -R root:root .
- chown -R mysql:mysql data
- //添加启动服务:
- cp support-files/mysql.server /etc/init.d/mysql
- #修改启动脚本
- vi /etc/init.d/mysqld
- #修改项:
- basedir=/usr/local/mysql/
- datadir=/usr/local/mysql/data/mysql
启动mysql服务:
service mysqld start
报错,提示无权限
解决方法:chmod a+wrx /etc/init.d/mysqld
centos7下安装mysql5.6:
https://blog.csdn.net/pengjunlee/article/details/81212250
redis扩展:
- //先下载phpredis-develop
- cd /tmp
- wget https://codeload.github.com/phpredis/phpredis/zip/develop
- //安装unzip、zip解压工具
- yum -y install unzip zip
- //解压
- unzip develop
- //解压后会多了个phpredis-develop的目录。进入目录
- cd phpredis-develop
- //安装phpize模块
- yum -y install php-devel
- //执行phpize
- sudo phpize
- //查找php-config路径
- find / -name php-config
- //例如:我的是:/usr/local/php720/bin/php-config
- //配置环境
- ./configure --with-php-config=/usr/local/php720/bin/php-config
- //编译安装
- sudo make && make install
- //成功后会告诉你生成的redis.so扩展文件在哪个目录
- //Installing shared extensions: /usr/local/php720/lib/php/extensions/no-debug-non-zts-20170718/
配置php的redis:
- vim /usr/local/php720/lib/php.ini
- extension= /usr/local/php720/lib/php/extensions/no-debug-non-zts-20170718/redis.so
- //ok
- //解决后,先把php-fpm进程清除
- pkill php-fpm
- //再启动php-fpm
- /usr/local/php720/sbin/php-fpm
- //防火墙端口:
- firewall-cmd --zone=public --add-port=6379/tcp --permanent
注意,linux下php7中若找不到php配置文件php.ini
解决方法:首先需要说明的是,如果你的php是编译安装的,那么默认是没有php.ini的,你必须自行去源码包里边拷贝。运行phpinfo()命令可以看到php指定的配置文件路径,把配置文件放到这个路径中即可。
安装redis服务:
坑1.
另附一下以前使用tp3.2框架时的坑
解决方法:
- if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }
坑2.
若报‘403 Forbidden’,则是因为nginx.conf没有找到指定文件,文件如下图
若要开启nginx目录浏览功能,只需将autoindex on前面的#去掉即可
总体来说,nginx确实是首选服务器,抗并发要强于apache(apache是阻塞的,nginx是异步非阻塞);apache模块比较多,稳定,但是配置复杂。相对nginx就简洁,bug比较多了;支持负载均衡;并发量在50000左右;当然还有其他优势和劣势,先这样吧,以后再继续研究
fileInfo扩展:
- find / -name phpize//找到php安装目录下的phpize的路径
- //在/usr/local/php/php-7.2.12/ext/fileinfo源文件下执行以下操作:
- /usr/local/php-install/bin/phpize
- ./configure --with-php-config=/usr/local/php-install/bin/php-config//为php安装路径
- make && make install
- vim /usr/local/php-install/lib/php.ini
- 修改extension=fileInfo前面的分号去掉,保存后重启php-fpm即可
nginx安装realip模块:
- [root@localhost nginx]#cd nginx-1.13.
- [root@localhost nginx]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_realip_module
- [root@localhost nginx]#make
- [root@localhost nginx]# ./sbin/nginx -t
- 依然报错:
- nginx: [emerg] unknown directive "real_ip_header" in /usr/local/nginx/conf/nginx.conf:
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
- [root@localhost nginx]# ./sbin/nginx -V
- nginx version: nginx/1.13.
- built by gcc 4.8. (Red Hat 4.8.-) (GCC)
- configure arguments:
- [root@localhost nginx]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
- [root@localhost nginx-1.13.]# cp objs/nginx /usr/local/nginx/sbin/
- cp:是否覆盖"/usr/local/nginx/sbin/nginx"? y
- cp: 无法创建普通文件"/usr/local/nginx/sbin/nginx": 文本文件忙
- [root@localhost nginx-1.13.]# pkill nginx
- [root@localhost nginx-1.13.]# cp objs/nginx /usr/local/nginx/sbin/
- cp:是否覆盖"/usr/local/nginx/sbin/nginx"? y
- [root@localhost nginx-1.13.]# /usr/local/nginx/sbin/nginx -V
- nginx version: nginx/1.13.
- built by gcc 4.8. (Red Hat 4.8.-) (GCC)
- configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_realip_module
- [root@localhost nginx-1.13.]# cd ..
- [root@localhost nginx]# ./sbin/nginx -t
- nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
- nginx: [emerg] getpwnam("nginx") failed
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
- [root@localhost nginx]# cd nginx-1.13.
- [root@localhost nginx-1.13.]# netstat -tlunp | grep nginx
- [root@localhost nginx-1.13.]# id nginx
- id: nginx: no such user
- [root@localhost nginx-1.13.]# useradd -s /sbin/nologin -M nginx
- [root@localhost nginx-1.13.]# id nginx
- uid=(nginx) gid=(nginx) 组=(nginx)
- [root@localhost nginx-1.13.]# netstat -tlunp | grep nginx
- [root@localhost nginx-1.13.]# cd ..
- [root@localhost nginx]# ./sbin/nginx -t
- nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx]# ./sbin/nginx -s reload
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@localhost nginx]# ./sbin/nginx -s reload
nginx实现负载均衡,简易配置:可以打印phpinfo();不停刷新页面,查看客户端ip和服务器ip
- #虚拟集群负载均衡配置
- upstream web_server{
- server 192.168.0.24;
- server 192.168.0.25;
- keepalive ; #与后端服务器保持长连接数
- }
- server {
- listen ;
- server_name www.xxxxxxx.cn;
- root localhost;
- location / {
- proxy_pass http://web_server;
- proxy_http_version 1.1; #后端服务器使用HTTP 1.1
- proxy_set_header Connection ""; #清空客户端Connection消息头
- proxy_set_header Host $host; #传递请求中的Host消息头
- proxy_set_header X-Real-IP $remote_addr; #传递真实客户端ip
- }
- }
xdebug扩展安装:
php5.6.27,linux centos7:
- cd php安装目录下
- mkdir xxdebug
- cd xxdebug
- wget https://xdebug.org/files/xdebug-2.5.0.tgz
- tar -zxf xdebug-2.5..tgz
- cd xdebug-2.5.
- php安装路径/bin/phpize
- 有可能会报错没有config.m4
- cp config.m4 /usr/local/php/php56/bin/ 即php安装路径下/bin
- php安装路径/bin/phpize
- ./configure --with-php-config=/usr/local/php/php56/bin/php-config
- make && make install
- 这里安装完后会提示安装到的路径,要记下来,后面配置用,我是这个/usr/local/php/php56/lib/php/extensions/no-debug-non-zts-/
- vim /usr/local/php/php56/lib/php.ini 此目录下没有ini文件的,自己到源码包找到ini.de..结尾的,改名复制到这个文件夹就可以了
- 添加这行zend_extension=/usr/local/php/php56/lib/php/extensions/no-debug-non-zts-/xdebug.so
- pkill php-fpm
- /usr/local/php/php56/sbin/php-fpm
- echo phpinfo();就出现xdebug模块就ok
nginx + php + mysql安装、配置、自启动+redis扩展的更多相关文章
- Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程
Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程 1.先切换到root用户 sudo su 2.更新软件源 apt update apt-get upgrade 3. ...
- nginx,php-fpm的安装配置
在centos7.2的系统下安装nginx和php-fpm nginx 安装 yum install -y nginx 即可完成安装 配置 由于之前项目使用的是apache,所以项目目录在var/ww ...
- CentOS+Nginx+PHP+MySQL详细配置(图解)
原文地址: http://www.jb51.net/article/26597.htm CentOS+Nginx+PHP+MySQL详细配置(带有图解),需要的朋友可以参考下. 一.安装MySQL ...
- Linux下PHP安装配置MongoDB数据库连接扩展
Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...
- Windows下安装Redis服务及安装PHP的Redis扩展
Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(valu ...
- linux下php7安装memcached、redis扩展
linux下php7安装memcached.redis扩展 1.php7安装Memcached扩展 比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcache ...
- Linux(Manjaro) - Docker - MySQL 安装配置
Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...
- 【netcore基础】CentOS 7.6.1810 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
之前写过一篇Ubuntu的环境搭建博客,感觉一些配置大同小异,这里重点记录下 nginx 作为静态 angular 项目文件服务器的配置 参考链接 [netcore基础]ubuntu 16.04 搭建 ...
- Linux下的Mysql安装 & 配置
Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS里.而是存在关系型数据库里,hive默认用的是der ...
- MySQL---5、可视化工具Navicat for MySQL安装配置
一.安装文件包下载 Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1oKcErok_Ijm0CY9UjNMrnA 密码:4xb1 ...
随机推荐
- Web API 2 使用SSL
在Server上启用SSL 稍后我会想在IIS 7 上配置SSL,现在先往下看. 本地测试,您可以启用SSL的IIS Express Visual Studio.在属性窗口中,启用SSL设置为True ...
- Android组件化、模块化、插件化
组件:指的是单一的功能组件,如地图组件(MapSDK).扫码组件(QRCode).支付组件(AnjukePay).路由组件(Router)等等: 模块:指的是独立的业务模块,如新房模块(NewHous ...
- docker 搭建简易仓库registry
下载仓库镜像: docker pull registry:2 运行仓库库镜像: docker run -d -p 5000:5000 -v /usr/local/registry:/var/li ...
- docker资料---仓库搭建
以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功 一.环境信息: 操作系统:CentOS 7 Docker版本:1.12.5 (更高版本应该类似) registry:2.4.1 registry- ...
- springMVC (优秀篇)
本文依然是复制的 Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 官方的下载网址是:http://www.springsource.org/download ...
- 洛谷3707 [SDOI2017] 相关分析 【线段树】
分析: 化简一下就行了,注意一下平方和公式的运用以及精度的误差. 代码: #include<bits/stdc++.h> using namespace std; ; int n,m; i ...
- xml 模块
XML ———可扩展的标记语言 也是一种通用的数据格式 之所以用它 也是因为跨平台 XML 的语法格式: 1,任何的起始标签都必须有一个结束标签. <> 起始标签 </>结束标 ...
- ☆ [HDU2089] 不要62「数位DP」
类型:数位DP 传送门:>Here< 题意:问区间$[n,m]$的数字中,不含4以及62的数字总数 解题思路 数位DP入门题 先考虑一般的暴力做法,整个区间扫一遍,判断每个数是否合法并累计 ...
- bzoj 2429: [HAOI2006]聪明的猴子 (最小生成树)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2429 思路:就是找最小生成树最大的一条边,最小生成树的性质,最后加入的那条边就是最大的 实现 ...
- codeforces 600E . Lomsat gelral (线段树合并)
You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour. Let's cal ...