很不错的图片站源码,可以搞。全文转载。
一、Java图片站源码Beauty介绍
Java图片站,PC端扒皮于99mm.me,移动端扒皮于m.99mm.me
我把这两个站的页面扒下来后整合成一个项目,在服务器后端判断访客设备是PC还是移动设备
程序做了应用级别的缓存:
比如我每天发布3套图,在缓存的有效时间(24/3=8小时)内一个页面只访问一次数据库,并把查询到的数据放到内存中
这大大降低了数据库的压力,并且提高了服务器的响应速度,极速响应
用户在浏览器访问一套图的时候只请求一次网站服务器,
点击查看套图的下一张图时使用js修改图片链接,
不用请求网站服务器,直接从图片服务器加载图片
这个程序实测在512M内存的服务器上也是可以极速响应的
具体测试环境:512M内存的Centos7.5系统 + JDK1.7 + Tomcat7 + MySQL5.5
实际占用300M左右内存,其他都给了缓存
数据库表字段的含义看源码中domain的注释吧,这里懒得写了
my.properties中的图片链接自己参照改一下
jdbc.properties中的数据库配置自己按情况改
默认有3个分类,分别是性感、美腿、清纯
我是在JDK1.8环境下写的代码,使用了 Maven来管理包
数据库的建表语言放在resources文件夹下了
本地下载:iht-Beauty-20181217
二、centos7.5 64位下,安装JDK1.7 + tomcat7 + Mysql5.5.61环境
(一)、JDK1.7的安装
查看可安装的JDK
1
|
yum list | grep java |
此处选择64位的1.7版本java-1.7.0-openjdk.x86_64
安装命令
1
|
yum -y install java-1.7.0-openjdk.x86_64 |
查看是否安装成功
1
|
java -version |
如果出现版本信息则说明安装成功了
(二)、Tomcat的安装
Tomcat7安装命令>>>梭哈<<<,全部复制下边的,然后粘贴就是了:
1
2
3
4
5
6
7
8
9
|
yum install -y wget cd /usr/local wget https: //mc .qcloudimg.com /static/archive/fa66329388f85c08e8d6c12ceb8b2ca3/apache-tomcat-7 .0.77. tar .gz tar -zxf apache-tomcat-7.0.77. tar .gz mv apache-tomcat-7.0.77 /usr/local/tomcat7 cd /usr/local/tomcat7/bin chmod 777 *.sh . /startup .sh ps -ef | grep tomcat |
进入本地文件夹
1
|
cd /usr/local |
到官网找到 Tomcat 的下载链接,并下载到服务器中, 这里提供了一个快速下载 Tomcat 的地址:
1
|
wget https: //mc .qcloudimg.com /static/archive/fa66329388f85c08e8d6c12ceb8b2ca3/apache-tomcat-7 .0.77. tar .gz |
解压这个文件夹:
1
|
tar -zxf apache-tomcat-7.0.77. tar .gz |
重命名这个文件:
1
|
mv apache-tomcat-7.0.77 /usr/local/tomcat7 |
备注:重命名是为了方便后续操作, 并非必须步骤
进入 bin 文件夹
1
|
cd /usr/local/tomcat7/bin |
给这个文件夹下的所有 shell 脚本授予权限:
1
|
chmod 777 *.sh |
开启tomcat服务:
1
|
. /startup .sh |
查看tomcat是否成功启动
1
|
ps -ef | grep tomcat |
(三)、Mysql5.5.61的安装
a、安装准备
CentOS7 Mariadb 数据库, 先卸载掉
方式1:rpm
查找版本
1
|
rpm -qa| grep mariadb |
卸载
1
|
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 |
其中mariadb-libs-5.5.56-2.el7.x86_64为当前系统中的版本,根据实际的更改即可
删除配置文件
1
|
rm /etc/my .cnf |
方式2:yum
查找
1
|
yum list installed | grep mariadb |
卸载
1
|
yum -y remove mariadb-libs.x86_64 |
此处mariadb-libs.x86_64为对应的版本
删除配置文件
1
|
rm /etc/my .cnf |
b、详细安装
1.到官方网站下载MySQL Community Server 5.5.61
其中 Select Operating System: 选择Linux Genuric
Select OS Version: 选择对应的位数,本次选 64位的
点击下载按钮,有询问是否登录的,不登录,直接复制下边No thanks, just start my download.的链接:
https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.61-linux-glibc2.12-x86_64.tar.gz
2.切换到local文件夹
1
|
cd /usr/local |
3.下载mysql到服务器
1
|
wget https: //dev .mysql.com /get/Downloads/MySQL-5 .5 /mysql-5 .5.61-linux-glibc2.12-x86_64. tar .gz |
4.解压
1
|
tar -xvf mysql-5.5.61-linux-glibc2.12-x86_64. tar .gz |
5.修改文件夹名称, 注意文件夹名称哟..
1
|
mv mysql-5.5.61-linux-glibc2.12-x86_64 mysql-5.5.61 |
6.修改my.cnf配置文件
1
|
vi /etc/my .cnf |
将以下内容添加到my.cnf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[mysql] # 设置mysql客户端默认字符集 default-character- set =utf8 socket= /var/lib/mysql/mysql .sock [mysqld] skip-name-resolve #设置3306端口 port=3306 socket= /var/lib/mysql/mysql .sock # 设置mysql的安装目录, 这里的目录一定要是你解压后并且改了名的目录哟.. basedir= /usr/local/mysql-5 .5.61 # 设置mysql数据库的数据的存放目录, 这里的目录一定要是你解压后并且改了名的目录哟.. datadir= /usr/local/mysql-5 .5.61 /data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character- set -server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_name=1 max_allowed_packet=16M |
7.切换到mysql目录中
1
|
cd /usr/local/mysql-5 .5.61 |
8.添加用户组与用户, 这里需要将目录切换到mysql目录下哟..
1
2
3
|
groupadd mysql useradd -g mysql mysql chown -R mysql:mysql ./ |
9.安装mysql
1
|
. /scripts/mysql_install_db --user=mysql --basedir= /usr/local/mysql-5 .5.61/ --datadir= /usr/local/mysql-5 .5.61 /data/ |
10.配置Mysql
1
2
3
4
5
6
|
chown -R mysql:mysql data chown 777 /etc/my .cnf cp . /support-files/mysql .server /etc/rc .d /init .d /mysqld chmod +x /etc/rc .d /init .d /mysqld chkconfig --add mysqld chkconfig --list mysqld |
11.开启服务
1
|
service mysqld start |
此处可能会报错
1
2
3
|
Starting MySQL.Logging to '/usr/local/mysql-5.5.61/data/VM_130_189_centos.err' . 180910 18:23:56 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists. ERROR! The server quit without updating PID file ( /usr/local/mysql-5 .5.61 /data/VM_130_189_centos .pid). |
创建所需目录并赋予权限:
1
2
|
mkdir /var/lib/mysql chmod 777 /var/lib/mysql |
12.配置PATH
1
|
vi ~/.bash_profile |
在文件最后面加入以下内容,并使用:wq保存
1
|
export PATH=$PATH: /usr/local/mysql-5 .5.61 /bin |
13.刷新PATH
1
|
source ~/.bash_profile |
11.开启服务
1
|
service mysqld start |
14.登录mysql, 这时mysql没有密码, 当出现Enter password:时直接回车
1
|
mysql -uroot -p |
15.修改root密码
1
2
3
|
use mysql; update user set password=password( '需要设置的密码' ) where user= 'root' and host= 'localhost' ; flush privileges; |
16.设置远程登录
1
|
GRANT ALL PRIVILEGES ON *.* TO 'root' @ '%' IDENTIFIED BY '刚才设置的root密码' WITH GRANT OPTION; |
注意:
注意: 对于linux mysql 对于表明默认区分大小写的
1
2
3
|
show variables like "%case%" ; vi /etc/my .cnf lower_case_table_names=1 |
三、Beauty图片站安装
把上边的数据库文件(beauty.sql)导入到你的数据库里
然后把Beauty.zip压缩包解压
进入 Beauty–>WEB-INF–>classes,修改jdbc.properties文件,修改后3行,也就是你的数据库的地址:端口/账号/密码
然后把Beauty文件夹传到服务器上
这里我在服务器根目录下创建了
/www/webapps/
文件夹,然后把Beauty文件夹扔进去
最后的路径是 /www/webapps/Beauty
这个下边配置的时候会用到
然后在ssh 中输入
cd /usr/local/tomcat7/conf
vi server.xml
把71行左右下边这个
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
中的 8080 改成你想要配置的端口,最简单的就是改成 80了,访问不需要加端口
然后按下方向键,到最后,在 </Host> 这个节点上边加一行,这里我的是
<Context docBase="/www/webapps/Beauty" path=""/>
docBase中的值就是上边Beauty文件夹的绝对路径
然后 按 Esc + :wq + Enter回车键 保存退出即配置完成
然后重启一下 Tomcat服务器就行了
cd /usr/local/tomcat7/bin
./shutdown.sh
./startup.sh
OK了,浏览器输入你的ip或者解析了的域名+上边配置的端口,如果是80端口访问就不用加端口了。
源码来自:https://dev.tencent.com/u/iht/p/Beauty/git
环境安装来自:https://coding.ee/109/
-
所有主机信息仅是为及时分享并收录,不做推荐!