文章目录
一、准备工作
1. 领取阿里云服务器
2. 服务器初始设置
2.1 设置实例密码
2.2 远程登录云服务器
2.3 修改云服务器密码
2.4 实现自动远程连接
二、部署服务器
1. 安装mariadb(数据库)
2. 安装Nginx
3. 开启端口
3.1 开启阿里云安全组端口
3.2 开启服务器防火墙端口
三、四种动态开发语言读取mysql数据
1. Go
2. nodejs
2.1 安装Nodejs
2.2 实现用nodejs读取mysql并显示在网页上
2.3 nginx配置
3.python
3.1 在pycharm中建flask项目
3.2 在项目中建立与云服务器连接
3.3 实现用python读取mysql并显示在网页上
4.php
4.1 php的安装配置
4.2 配置Nginx,测试访问PHP
4.4 实现用PHP读取mysql并显示在网页上
一、准备工作
1. 领取阿里云服务器
免费使用一个月ECS共享性n4
购买页面中主要注意的是操作系统,选择自己的操作系统即可。
如何查看Centos系统版本命令
[ root@localhost ~ ] # cat / etc/ redhat- release
2. 服务器初始设置
2.1 设置实例密码
如果找不到这个页面,后面的找不到控制台页面
有说明
2.1.1 找不到控制台页面
如果你现在在这个页面中:阿里云控制台首页 往下滑找到云产品推荐,点击云服务器ESC 进入新页面后,点击管理控制台即可找到云服务器。
2.2 远程登录云服务器
在本地终端运行ssh userName@hostIP远程登录云服务器。userName为云服务器用户名,默认是root
,@符号后接云服务器的公网IP
地址。(是公网IP,不是内网IP。)
[ root@localhost ~ ] # ssh root@xxx. xx. xxx. xx
2.3 修改云服务器密码
密码太难记?登录完云服务器后可执行passwd命令修改密码
[ root@root ~ ] # passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
2.4 实现自动远程连接
若使用的终端应用是termius
,为了不用每次都要手动远程连接和方便传文件,我们可以创建一个newHost
填上相应信息
往下滑,找到SSH Agent Forwarding 选择你要远程连接的Host,之后只需虚拟机上登录Host的用户账号,终端就可以直接连接newHost以实现远程连接了。
二、部署服务器
1. 安装mariadb(数据库)
由于CentOS7不支持MySQL了,而内部集成了mariadb。安装MySQL的话会和MariaDB的文件冲突,所以直接安装mariadb即可。如果安装过mysql的要删干净才可以下载安装mariadb,可通过这个链接查看是否安装本地mysql
-安装mariadb-server
[ root@root ~ ] # yum install - y mariadb- server
若安装中出现了获取 GPG 密钥失败,需要重新获取
GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/
rpm-gpg/RPM-GPG-KEY-mysql-2022"
运行以下命令
[root@root ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再重新安装mariadb-server
[ root@root ~ ] # yum install - y mariadb- server
启动服务
[ root@root ~ ] # systemctl start mariadb. service
查看mariadb运行状态
[ root@root ~ ] # systemctl status mariadb. service
添加到开机启动
[ root@root ~ ] # systemctl enable mariadb. service
安全设置,修改数据库管理员密码
[ root@root ~ ] # mysql_secure_installation
Set root password? [ Y/ n] Y
New password:
Re- enter new password:
Remove anonymous users? [ Y/ n] Y
Disallow root login remotely? [ Y/ n] n
Remove test database and access to it? [ Y/ n] Y
Reload privilege tables now? [ Y/ n] Y
1.1 解决数据库乱码问题
配置MariaDB字符编码。
[ root@root ~ ] # vi / etc/ my. cnf
#添加以下内容
[ mysqld]
character- set- server= utf8
[ client]
default - character- set= utf8
[ mysql]
default - character- set= utf8
[ mysql. server]
default - character- set = utf8
重启mariadb
[ root@root ~ ] # systemctl restart mariadb
1.2 数据库建表
[ root@root ~ ] # mysql - u root - p
Enter password:
MariaDB [ ( none) ] > CREATE DATABASE test;
MariaDB [ ( none) ] > use test
MariaDB [ test] > CREATE TABLE students (
stuId VARCHAR ( 12 ) NOT NULL ,
stuName VARCHAR ( 50 ) NOT NULL ,
PRIMARY KEY ( stuId)
) ;
可以用show tables;
命令查看创建表格是否成功。
MariaDB [ test] > show tables;
插入数据到students表中
MariaDB [ test] > INSERT INTO students VALUES ( "yourStuID" , "yourName" ) ;
查看students表是否正确插入数据
MariaDB [ test] > SELECT * FROM students;
ctrl+c退出MariaDB。
2. 安装Nginx
安装nginx
[ root@root ~ ] # yum list nginx*
[ root@root ~ ] # yum install - y nginx. x86_64
配置nginx
[ root@root ~ ] # vim / etc/ nginx/ nginx. conf
#在http里的server里添加
location ~ \. php$ {
root / usr/ share/ nginx/ html;
fastcgi_pass 127.0 .0 .1 : 9000 ; #php- fpm默认的端口是9000
fastcgi_index index. php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ \. go$ {
proxy_pass http:
}
location ~ \. js$ {
proxy_pass http:
}
location index. py {
proxy_pass http:
}
运行nginx,并查看状态
[ root@root ~ ] # service nginx restart
[ root@root ~ ] # systemctl status nginx
3. 开启端口
端口
描述
80
htpp、nginx
8000
测试go端口
8001
测试nodejs端口
8800
测试python端口
9000
php-fpm,php
3.1 开启阿里云安全组端口
进去后表格右上角,点击添加安全组规则,把5个端口都给加上。其中一个示例:
3.2 开启服务器防火墙端口
[ root@root ~ ] # service firewalld start
[ root@root ~ ] # systemctl status firewalld #查看开启防火墙是否成功
[ root@root ~ ] # firewall- cmd -- zone= public -- add- port= 80 / tcp -- permanent
[ root@root ~ ] # firewall- cmd -- zone= public -- add- port= 8000 / tcp -- permanent
[ root@root ~ ] # firewall- cmd -- zone= public -- add- port= 8001 / tcp -- permanent
[ root@root ~ ] # firewall- cmd -- zone= public -- add- port= 8800 / tcp -- permanent
[ root@root ~ ] # firewall- cmd -- zone= public -- add- port= 9000 / tcp -- permanent
[ root@root ~ ] # service firewalld restart #重启防火墙,不然不生效
[ root@root ~ ] # firewall- cmd -- list- ports #查看开放的端口
80 / tcp 8000 / tcp 8001 / tcp 8800 / tcp 9000 / tcp
三、四种动态开发语言读取mysql数据
1. Go
这个博客写的很详细:Linux实验:Golang+MySQL部署Web环境 只要将博客里的9090端口改为8000就可以了。
2. nodejs
2.1 安装Nodejs
[ root@root ~ ] # sudo yum install epel- release
[ root@root ~ ] # sudo yum install nodejs
[ root@root ~ ] # node -- version
#安装npm
[ root@root ~ ] # cd / root/ myLinuxTest/ nodejs
[ root@root nodejs] # sudo yum install npm -- enablerepo= epel
[ root@root nodejs] # sudo npm install - g express
[ root@root nodejs] # sudo npm install - g express- generator
[ root@root nodejs] # npm install mysql
2.2 实现用nodejs读取mysql并显示在网页上
[ root@root ~ ] # vim / root/ myLinuxTest/ nodejs/ index. js
var http= require ( 'http' ) ;
var url= require ( 'url' ) ;
var mysql= require ( 'mysql' ) ;
var connection = mysql. createConnection ( {
host : 'localhost',
user : 'root' ,
password : 'xxxxxx' ,
port : '3306' ,
database : 'test'
} ) ;
var sql = 'select * from student';
server = http. createServer ( function ( request, response) {
response. writeHead ( 200 , { 'Content - Type ': ' text/ html'} ) ;
connection. query ( sql, function ( err, result) {
if ( err) {
console. log ( '[ select error] - ', err. message) ;
return ;
}
response. write (
'< ! DOCTYPE html> '+
'< html lang= "en" > '+
'' +
'< meta charset= "utf-8" / > '+
'< / head> ') ;
response. write ( "这是Nodejs页面" ) ;
response. write ( "") ;
response. write ( " 学号 ") ;
response. write ( " 姓名 ") ;
result. forEach ( r = > {
response. write ( "") ;
response. write ( " "+ r. stuId+ " ") ;
response. write ( " "+ r. stuName+ " ") ;
response. write ( " " ) ;
} )
response. end ( ) ;
} ) ;
} ) ;
server. listen ( 8001 ) ;
2.3 nginx配置
[ root@wu2 ~ ] # vim / etc/ nginx/ nginx. conf # 增加下方配置。
location ~ / index. js$ {
proxy_pass http: / / 127.0 .0 .1 : 8001 ;
}
[ root@root ~ ] # service nginx restart
此时,可以用 http://ip/index.js 访问。
使nodejs项目在服务器上后台运行
[ root@root ~ ] # nohup node / root/ myLinuxTest/ nodejs/ index. js &
3.python
3.1 在pycharm中建flask项目
3.2 在项目中建立与云服务器连接
随便定义一个名字 ok~然后 这样就设置好啦,这里能远程看到linux
3.3 实现用python读取mysql并显示在网页上
import sys
reload ( sys)
sys. setdefaultencoding( 'utf-8' )
from flask import Flask
app = Flask( __name__)
import mysql. connector
@app. route ( '/' )
def hello_world ( ) :
mydb = mysql. connector. connect(
host= "localhost" ,
user= "用户名" ,
passwd= "密码" ,
database= "数据库名"
)
mycursor = mydb. cursor( )
result = mycursor. execute( "select * from 表名" )
str = "这是python页面 学号 姓名 "
for x in mycursor:
str += "" + x[ 0 ] + " " + x[ 1 ] + " "
str += "
"
return str
if __name__ == '__main__' :
app. run( host= "0.0.0.0" , port= 8800 , debug= True )
这里将项目文件上传到linux上 访问http://ip:8800/即可
使python项目在服务器上后台运行
[ root@root python] # python - V
Python 2.7 .5
[ root@root python] # nohup python2. 7 - u / root/ python/ app. py &
4.php
4.1 php的安装配置
[ root@root ~ ] # mkdir / opt/ php
[ root@root ~ ] # cd / opt/ php
[ root@root php] # wget https:
[ root@root php] # yum install - y gcc gcc- c++ make zlib zlib- devel pcre pcre- devel libjpeg libjpeg- devel libpng libpng- devel freetype freetype- devel libxml2 libxml2- devel glibc glibc- devel glib2 glib2- devel bzip2 bzip2- devel ncurses ncurses- devel curl curl- devel e2fsprogs e2fsprogs- devel krb5 krb5- devel openssl openssl- devel openldap openldap- devel nss_ldap openldap- clients openldap- servers libsqlite3x- devel oniguruma- devel
[ root@root php] # tar - zxvf php- 7.4 .5 . tar. gz
[ root@root php] # cd php- 7.4 .5
[ root@root php- 7.4 .5 ] # . / configure -- prefix= / usr/ local/ php -- with- config- file- path= / usr/ local/ php -- enable- mbstring -- enable- ftp -- enable- gd -- with- mysqli= mysqlnd -- with- pdo- mysql= mysqlnd -- without- pear -- disable- phar -- enable- sockets -- with- zlib -- with- xmlrpc -- enable- fpm -- enable- xml -- enable- sockets -- with- zlib -- with- iconv -- enable- soap -- enable- pcntl -- enable- cli -- with- curl
[ root@root php- 7.4 .5 ] # make
[ root@root php- 7.4 .5 ] # make install
[ root@root php- 7.4 .5 ] # cp php. ini- production / usr/ local/ php/ php. ini
[ root@root php- 7.4 .5 ] # vim / usr/ local/ php/ php. ini
display_errors = On # Off改为On。设置让PHP错误信息打印在页面上
[ root@root php- 7.4 .5 ] # cp sapi/ fpm/ init. d. php- fpm / etc/ init. d/ php- fpm
[ root@root php- 7.4 .5 ] # chmod + x / etc/ init. d/ php- fpm
[ root@root php- 7.4 .5 ] # cd / usr/ local/ php/ etc
[ root@root etc] # cp php- fpm. conf. default php- fpm. conf
[ root@root etc] # vi php- fpm. conf
去掉 ";pid = run/php-fpm.pid" 前面的分号
[ root@root etc] # cd php- fpm. d
[ root@root php- fpm. d] # cp www. conf. default www. conf
[ root@root php- fpm. d] # vi www. conf # 修改user和group为php。
user = php
group = php
[ root@root php- fpm. d] # groupadd php
[ root@root php- fpm. d] # useradd - r - g php php
[ root@root php- fpm. d] # chkconfig php- fpm on # 设置开启启动
[ root@root php- fpm. d] # cd ~
[ root@root ~ ] # / etc/ init. d/ php- fpm star
4.2 配置Nginx,测试访问PHP
[ root@root ~ ] # vim / usr/ share/ nginx/ html/ index. php # 写入如下内容
< ? php
phpinfo ( ) ;
? >
[ root@root ~ ] # vim / etc/ nginx/ nginx. conf
#添加以下内容
location / {
root / usr/ share/ nginx/ html;
index index. php;
}
location ~ \. php$ {
# root html;
root / usr/ share/ nginx/ html;
fastcgi_pass 127.0 .0 .1 : 9000 ; #php- fpm默认的端口是9000
fastcgi_index index. php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[ root@wu2 ~ ] # service nginx restart
配置后,使用ip
、云服务器公网ip/index.php
可访问以下页面 ip/index.html
可以访问到下方页面。
4.4 实现用PHP读取mysql并显示在网页上
[ root@root ~ ] # vim / usr/ share/ nginx/ html/ index. php # 删除原先内容,改为以下内容。
< ? php
$mysql_server_name = '127.0.0.1' ;
$mysql_username = 'root' ;
$mysql_password = '66666' ;
$mysql_database = 'test' ;
$conn= mysqli_connect ( $mysql_server_name, $mysql_username, $mysql_password, $mysql_database) ;
if ( $conn -> connect_errno) {
printf ( "Connect failed: %s\n" , $conn-> connect_error) ;
exit ( ) ;
}
$sql = "select * from student" ;
$query = $conn-> query ( $sql) ;
echo "这是PHP页面" ;
echo "";
echo " 学号 ";
echo " 姓名 ";
echo " ";
while ( $row = $query-> fetch_array ( ) ) {
echo "";
echo " ". $row[ 'stuId' ] . " ";
echo " ". $row[ 'stuName' ] . " ";
echo " " ;
}
$query -> free_result ( ) ;
$conn -> close ( ) ;
? >
保存后访问http://ip/index.php,
使php项目在服务器上后台运行
[ root@root ~ ] # nohup php / usr/ share/ nginx/ html/ index. php &
你可能感兴趣的:(linux,mysql,linux,golang,python,php)
Python - 数据分析三剑客之Pandas
MinggeQingchun
Python Python Pandas
阅读前可参考NumPy文章https://blog.csdn.net/MinggeQingchun/article/details/148253682https://blog.csdn.net/MinggeQingchun/article/details/148253682Pandas是Python中一个强大的开源数据分析库,专门用于处理结构化数据(如表格、时间序列等),其核心数据结构为Seri
【无标题】
Aczone28
单片机 嵌入式硬件
学习记录:初识Linux操作系统与基本命令今天我正式开始学习Linux操作系统,并对Ubuntu有了初步的了解。Ubuntu是基于GNU工程发布的Linux发行版之一,具有开源、自由、安全和高效的特点,是目前主流的Linux系统之一,广泛应用于服务器、开发环境以及日常桌面使用。在实践中,我接触并掌握了一些常用的Linux命令,包括但不限于以下几个方面:文件和目录操作:-ls:查看当前目录下的文件和
python网络爬虫(第一章/共三章:网络爬虫库、robots.txt规则(防止犯法)、查看获取网页源代码)
python网络爬虫(第一章/共三章:网络爬虫库、robots.txt规则(防止犯法)、查看获取网页源代码)学习python网络爬虫的完整路径:(第一章即此篇文章)(第二章)python网络爬虫(第二章/共三章:安装浏览器驱动,驱动浏览器加载网页、批量下载资源)-CSDN博客https://blog.csdn.net/2302_78022640/article/details/149431071?
mac mlx大模型框架的安装和使用
liliangcsdn
python java 前端 人工智能 macos
mlx是apple平台的大模型推理框架,对macm1系列处理器支持较好。这里记录mlx安装和运行示例。1安装mlx框架condacreate-nmlxpython=3.12condaactivatemlxpipinstallmlx-lm2运行mlx测试例以下是测试程序,使用方法和hf、vllm等推理框架基本一致。importosos.environ['HF_ENDPOINT']="https://
LocalSend:比 AirDrop 更自由!这款神器让文件传输不再受限
开源项目精选
https
LocalSend是一款免费、开源的跨平台文件传输工具,支持Windows、macOS、Linux、Android和iOS等主流操作系统。它通过HTTPS实现端到端加密传输,无需互联网或外部服务器,即可在局域网内高速、安全地传输文件和文本。其核心优势在于打破平台壁垒,提供高效安全的本地文件共享方案,让您的多设备互联互通变得前所未有的简单。Stars数64,423Forks数3,437主要特点跨平台
【MySQL基础】MySQL事务详解:原理、特性与实战应用
GG Bond.ฺ
MySQL学习 mysql 数据库
MySQL学习:https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482前言:事务是数据库管理系统的核心概念之一,它确保了数据库操作的可靠性和一致性。本文将深入探讨MySQL事务的各个方面,包括基本概念、ACID特性、隔离级别、锁机制以及实战应用。目录一、事务的基本概念1.1什么是事务?1.
系统学习Python——并发模型和异步编程:进程、线程和GIL
分类目录:《系统学习Python》总目录在文章《并发模型和异步编程:基础知识》我们简单介绍了Python中的进程、线程和协程。本文就着重介绍Python中的进程、线程和GIL的关系。Python解释器的每个实例都是一个进程。使用multiprocessing或concurrent.futures库可以启动额外的Python进程。Python的subprocess库用于启动运行外部程序(不管使用何种
Flask框架入门:快速搭建轻量级Python网页应用
「已注销」
python-AI python基础 网站网络 python flask 后端
转载:Flask框架入门:快速搭建轻量级Python网页应用1.Flask基础Flask是一个使用Python编写的轻量级Web应用框架。它的设计目标是让Web开发变得快速简单,同时保持应用的灵活性。Flask依赖于两个外部库:Werkzeug和Jinja2,Werkzeug作为WSGI工具包处理Web服务的底层细节,Jinja2作为模板引擎渲染模板。安装Flask非常简单,可以使用pip安装命令
Python Flask 框架入门:快速搭建 Web 应用的秘诀
Python编程之道
Python人工智能与大数据 Python编程之道 python flask 前端 ai
PythonFlask框架入门:快速搭建Web应用的秘诀关键词Flask、微框架、路由系统、Jinja2模板、请求处理、WSGI、Web开发摘要想快速用Python搭建一个灵活的Web应用?Flask作为“微框架”代表,凭借轻量、可扩展的特性,成为初学者和小型项目的首选。本文将从Flask的核心概念出发,结合生活化比喻、代码示例和实战案例,带你一步步掌握:如何用Flask搭建第一个Web应用?路由
上位机知识篇---SD卡&U盘镜像
常用的镜像烧录软件balenaEtcherbalenaEtcher是一个开源的、跨平台的工具,用于将操作系统镜像文件(如ISO和IMG文件)烧录到SD卡和USB驱动器中。以下是其使用方法、使用场景和使用注意事项的介绍:使用方法下载安装:根据自己的操作系统,从官方网站下载对应的安装包。Windows系统下载.exe文件后双击安装;Linux系统若下载的是.deb文件,可在终端执行“sudodpkg-
python_虚拟环境
阿_焦
python
第一、配置虚拟环境:virtualenv(1)pipvirtualenv>安装虚拟环境包(2)pipinstallvirtualenvwrapper-win>安装虚拟环境依赖包(3)c盘创建虚拟目录>C:\virtualenv>配置环境变量【了解一下】:(1)如何使用virtualenv创建虚拟环境a、cd到C:\virtualenv目录下:b、mkvirtualenvname>创建虚拟环境nam
docker-compose方式搭建lnmp环境——筑梦之路
筑梦之路
linux系统运维 国产化 docker android adb
docker-compose.yml文件#生成docker-compose.ymlcat>docker-compose.ymlnginx/conf.d/default.conf">www/index.phpecho"开始启动服务..."docker-composeup-d#获取本机ipip_addr=$(hostname-I|awk'{print$1}')echo"部署完成!"echo"访问测试页
Python爱心光波
系列文章序号直达链接Tkinter1Python李峋同款可写字版跳动的爱心2Python跳动的双爱心3Python蓝色跳动的爱心4Python动漫烟花5Python粒子烟花Turtle1Python满屏飘字2Python蓝色流星雨3Python金色流星雨4Python漂浮爱心5Python爱心光波①6Python爱心光波②7Python满天繁星8Python五彩气球9Python白色飘雪10Pyt
Python流星雨
Want595
python 开发语言
文章目录系列文章写在前面技术需求完整代码代码分析1.模块导入2.画布设置3.画笔设置4.颜色列表5.流星类(Star)6.流星对象创建7.主循环8.流星运动逻辑9.视觉效果10.总结写在后面系列文章序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python
Python之七彩花朵代码实现
PlutoZuo
Python python 开发语言
Python之七彩花朵代码实现文章目录Python之七彩花朵代码实现下面是一个简单的使用Python的七彩花朵。这个示例只是一个简单的版本,没有很多高级功能,但它可以作为一个起点,你可以在此基础上添加更多功能。importturtleastuimportrandomasraimportmathtu.setup(1.0,1.0)t=tu.Pen()t.ht()colors=['red','skybl
Python 脚本最佳实践2025版
前文可以直接把这篇文章喂给AI,可以放到AI角色设定里,也可以直接作为提示词.这样,你只管提需求,写脚本就让AI来.概述追求简洁和清晰:脚本应简单明了。使用函数(functions)、常量(constants)和适当的导入(import)实践来有逻辑地组织你的Python脚本。使用枚举(enumerations)和数据类(dataclasses)等数据结构高效管理脚本状态。通过命令行参数增强交互性
(Python基础篇)了解和使用分支结构
EternityArt
基础篇 python
目录一、引言二、Python分支结构的类型与语法(一)if语句(单分支)(二)if-else语句(双分支)(三)if-elif-else语句(多分支)三、分支结构的应用场景(一)提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“88888”则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,(二)提示用户输入用户名,然后再提示输入密码,如果用户名是“adm
(Python基础篇)循环结构
EternityArt
基础篇 python
一、什么是Python循环结构?循环结构是编程中重复执行代码块的机制。在Python中,循环允许你:1.迭代处理数据:遍历列表、字典、文件内容等。2.自动化重复任务:如批量处理数据、生成序列等。3.控制执行流程:根据条件决定是否继续或终止循环。二、为什么需要循环结构?假设你需要打印1到100的所有偶数:没有循环:需手动编写100行print()语句。print(0)print(2)print(4)
(Python基础篇)字典的操作
EternityArt
基础篇 python 开发语言
一、引言在Python编程中,字典(Dictionary)是一种极具灵活性的数据结构,它通过“键-值对”(key-valuepair)的形式存储数据,如同现实生活中的字典——通过“词语(键)”快速查找“释义(值)”。相较于列表和元组的有序索引访问,字典的优势在于基于键的快速查找,这使得它在处理需要频繁通过唯一标识获取数据的场景中极为高效。掌握字典的操作,能让我们更高效地组织和管理复杂数据,是Pyt
Python七彩花朵
Want595
python 开发语言
系列文章序号直达链接Tkinter1Python李峋同款可写字版跳动的爱心2Python跳动的双爱心3Python蓝色跳动的爱心4Python动漫烟花5Python粒子烟花Turtle1Python满屏飘字2Python蓝色流星雨3Python金色流星雨4Python漂浮爱心5Python爱心光波①6Python爱心光波②7Python满天繁星8Python五彩气球9Python白色飘雪10Pyt
CentOS7环境卸载MySQL5.7
Hadoop_Liang
mysql 数据库 mysql
备份重要数据切记,卸载之前先备份mysql重要的数据。备份一个数据库例如:备份名为mydatabase的数据库到backup.sql的文件中mysqldump-uroot-ppassword123mydatabase>backup.sql备份所有数据库mysqldump-uroot-ppassword123--all-databases>all_databases_backup.sql注意:-p后
php SPOF
贵哥的编程之路(热爱分享 为后来者)
PHP语言经典程序100题 php 开发语言
1.什么是单点故障(SPOF)?单点故障指的是系统中某个组件一旦失效,整个系统或服务就会不可用。常见的单点有:数据库、缓存、Web服务器、负载均衡、网络设备等。2.常见单点故障场景只有一台数据库服务器,宕机后所有业务不可用只有一台Redis缓存,挂掉后缓存全部失效只有一台Web服务器,挂掉后网站无法访问只有一个负载均衡节点,挂掉后流量无法分发只有一条网络链路,断开后所有服务失联3.消除单点故障的主
php 高并发下日志量巨大,如何高效采集、存储、分析
贵哥的编程之路(热爱分享 为后来者)
PHP语言经典程序100题 php 开发语言
1.问题背景高并发系统每秒产生大量日志(如访问日志、错误日志、业务日志等)。单机写入、存储、分析能力有限,容易成为瓶颈。需要支持实时采集、分布式存储、快速检索与分析。2.主流架构方案一、分布式日志采集架构[应用服务器(PHP等)]|v[日志采集Agent(如Filebeat、Fluentd、Logstash)]|v[消息队列/缓冲(如Kafka、Redis、RabbitMQ)]|v[日志存储(如E
用OpenCV标定相机内参应用示例(C++和Python)
下面是一个完整的使用OpenCV进行相机内参标定(CameraCalibration)的示例,包括C++和Python两个版本,基于棋盘格图案标定。一、目标:相机标定通过拍摄多张带有棋盘格图案的图像,估计相机的内参:相机矩阵(内参)K畸变系数distCoeffs可选外参(R,T)标定精度指标(如重投影误差)二、棋盘格参数设置(根据自己的棋盘格设置):棋盘格角点数:9x6(内角点,9列×6行);每个
centos7安装 mysql5.7(安装包)
heiPony
linux mysql mariadb centos mysql
一.卸载centos7自带数据库查看系统自带的Mariadbrpm-qa|grepmariadbmariadb-libs-5.5.44-2.el7.centos.x86_64卸载rpm-e--nodepsmariadb-libs-5.5.44-2.el7.centos.x86_64删除etc目录下的my.cnfrm/etc/my.cnf二.检查mysql是否存在(有就卸载,删除相关文件)rpm-q
Anaconda 详细下载与安装教程
Anaconda详细下载与安装教程1.简介Anaconda是一个用于科学计算的开源发行版,包含了Python和R的众多常用库。它还包括了conda包管理器,可以方便地安装、更新和管理各种软件包。2.下载Anaconda2.1访问官方网站首先,打开浏览器,访问Anaconda官方网站。2.2选择适合的版本在页面中,你会看到两个主要的下载选项:AnacondaIndividualEdition:适用于
MySQL Explain 详解:从入门到精通,让你的 SQL 飞起来
引言:为什么Explain是SQL优化的“照妖镜”?在Java开发中,我们常常会遇到数据库性能瓶颈的问题。一条看似简单的SQL语句,在数据量增长到一定规模后,可能会从毫秒级响应变成秒级甚至分钟级响应,直接拖慢整个应用的性能。此时,你是否曾困惑于:为什么这条SQL突然变慢了?索引明明建了,为什么没生效?到底是哪里出了问题?答案就藏在MySQL的EXPLAIN命令里。EXPLAIN就像一面“照妖镜”,
Linux/Centos7离线安装并配置MySQL 5.7
有事开摆无事百杜同学
LInux/CentOS7 linux mysql 运维
Linux/Centos7离线安装并配置MySQL5.7超详细教程一、环境准备1.下载MySQL5.7离线包2.使用rpm工具卸载MariaDB(避免冲突)3.创建系统级别的MySQL专用用户二、安装与配置1.解压并重命名MySQL目录2.创建数据目录和配置文件3.设置目录权限4.初始化MySQL5.配置启动脚本6.配置环境变量三、启动与验证1.启动MySQL服务2.获取初始密码3.登录并修改密码
python中 @注解 及内置注解 的使用方法总结以及完整示例
慧一居士
Python python
在Python中,装饰器(Decorator)使用@符号实现,是一种修改函数/类行为的语法糖。它本质上是一个高阶函数,接受目标函数作为参数并返回包装后的函数。Python也提供了多个内置装饰器,如@property、@staticmethod、@classmethod等。一、核心概念装饰器本质:@decorator等价于func=decorator(func)执行时机:在函数/类定义时立即执行装饰
Python中的静态方法和类方法详解
在Python中,`@staticmethod`和`@classmethod`是两种装饰器,它们用于定义类中的方法,但是它们的行为和用途有所不同。###@staticmethod`@staticmethod`装饰器用于定义一个静态方法。静态方法不接收类或实例的引用作为第一个参数,因此它不能访问类的状态或实例的状态。静态方法可以看作是与类关联的普通函数,但它们可以通过类名直接调用。classMath
ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM 字节码动态生成 ClassNode TreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
链表树——复合数据结构应用实例
bardo
数据结构 树型结构 表结构设计 链表 菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
为啥要用位运算代替取模呢
chenchao051
位运算 哈希 汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
最近的情况
麦田的设计者
生活 感悟 计划 软考 想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
PHP去掉字符串中最后一个字符的方法
IT独行者
PHP 字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
hadoop在linux上单机安装过程
_wy_
linux hadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互 分布式 事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop 互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
探索JUnit4扩展:使用Theory
bijian1013
java JUnit Theory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
[Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
java netty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
Hive几种导出数据方式
daizj
hive 数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
编程之美
dcj3sjt126com
编程 PHP 重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
Oracle 复习笔记之同义词
eksliang
Oracle 同义词 Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
Ajax案例
gongmeitao
Ajax jsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.net Web C# asp.net hovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
事务管理
luyulong
java spring 编程 事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
基础数据结构和算法十一:Red-black binary search tree
sunwinner
Algorithm Red-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
centos同步时间
stunizhengjia
linux 集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro