美文网首页
CentOS7.3 JavaWeb项目部署

CentOS7.3 JavaWeb项目部署

作者: 程序员成长记 | 来源:发表于2017-08-13 19:06 被阅读0次

    关于微柳镜像使用


    镜像名字:JAVA环境(CentOS7.3 Nginx Tomcat8 JDK)
    镜像市场地址:点击这里进入
    JAVA环境镜像使用手册:点击进入
    视频教程:百度云在线播放与下载
    镜像软件详细列表:

    • Nginx1.12.0
    • Tomcat7.0.77或8.0.43
    • JDK1.8.0_121、1.7.0_80、1.6.0_45
    • MySQL5.6.36
    • Redis3.2.8
    • Memcached1.4.36
    • Jemalloc4.5.0
    • Pure-FTPd1.0.45

    源码安装目录:
    Nginx:/usr/local/nginx
    tomcat:/usr/local/tomcat
    JDK:/usr/java
    MySQL:/usr/local/mysql
    Pureftpd:/usr/local/pureftpd
    Redis: /usr/local/redis
    Memcached:/usr/local/memcached
    数据存储目录:
    数据库(MySQL):/data/mysql
    网站根目录:/data/wwwroot/www.example.com 【添加虚拟主机会自动创建这个目录】
    Web访问日志:/data/wwwlogs
    默认ip直接访问内容对应根目录:/data/wwwroot/default 【该目录包含首页demo等文件,目录里面文件可删除,目录不能删除】
    首页demo:http://公网IP


    参数优化

    1. 初始化磁盘


    新安装的系统可以省略此步,也就是恢复到镜像的初始状态。在后续使用过程中出现问题,均可以初始化磁盘之后再做后续步骤。

    2. 启动优化系统 [这一步是根据自己的系统使用脚本自动优化,强烈建议操作一次]

    cd /root/oneinstack     #必须进入oneinstack目录下执行
    ./optimize.sh         #请勿bash ./optimize.sh(或者sh)这样执行
    

    注意:
    可能需要等待1分钟,请勿中断
    此脚本会根据系统配置,自动优化 Nginx、MySQL、JVM等参数
    显示结果:

    3. JDK版本切换


    cd /root/oneinstack
    ./change_jdk_version.sh
    
    图示:

    4. MySQL数据库管理


    1. 显示数据库root默认密码:
    cd /root/oneinstack
    grep dbrootpwd options.conf #显示数据库root密码
    
    1. 数据库root密码重置
    cd /root/oneinstack
    ./reset_db_root_password.sh
    
    1. 创建数据库用户
      为了安全我们通常给每一个网站程序建立唯一的数据库连接帐号(帐号名不能为root)。
      如:添加一个用户名为db_user,密码为db_pass,授权为本机localhost对db_name数据库所有权限,命令如下
      mysql -uroot –p
      Enter password: #输入数据库的root密码,默认不显示密码
    MySQL [(none)]> grant all privileges on db_name.* to db_user@’localhost’ identified by ‘db_pass’;        #授权语句,特别注意有分号
    MySQL [(none)]> flush privileges;        #权限立即生效
    MySQL [(none)]> exit;        #退出数据库控制台,特别注意有分号.
    
    图示:
    1. 配置MySQL远程连接

    如果需要远程连接数据库,需要如下操作(缺一不可):
    a. 打开iptables 3306端口

    iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT        // 添加规则
    service iptables save      // 保存iptables规则
    
    图示:

    b. 数据库授权
    使用参考创建数据库用户的步骤。

    5. 管理虚拟主机


    1. 添加虚拟主机
    cd /root/oneinstack
    ./vhost.sh
    
    图示:

    说明:

    • 上图中directory为网站根目录,脚本执行后会自动创建,部署网站时请将代码上传到该目录。目录、子目录和文件权限都为:www
    • 对应Nginx配置文件路径:
    /usr/local/nginx/conf/vhost/demo.oneinstack.com.conf 
    

    demo.oneinstack.com为绑定的域名

    • 对应Tomcat配置文件路径:
    /usr/local/tomcat/conf/vhost/demo.oneinstack.com.xml
    

    (demo.oneinstack.com为绑定的域名)

    1. 删除虚拟主机:
    cd  /root/oneinstack
    ./vhost.sh del
    
    图示

    6. 如何管理FTP账号


    cd /root/oneinstack
    ./pureftpd_vhost.sh
    
    图示:

    7. 备份管理


    设置备份参数

    cd /root/oneinstack
    ./backup_setup.sh
    
    图示:

    立即备份

    cd /root/oneinstack
    ./backup.sh
    

    设置备份计划任务,自动定时备份
    如:每天凌晨一点备份 [注:下面命令请勿重复执行]

    echo '0 1 * * * cd ~/oneinstack;./backup.sh > /dev/null 2>&1 & ' >> /var/spool/cron/root
    

    查看本地备份
    ls -l /data/backup

    图示:

    查看阿里云OSS
    登陆阿里云管理控制台,地址:点此查看

    图示:

    8. 如何管理服务


    • Nginx:
    service nginx {start|stop|status|restart|reload|configtest}
    

    注意:更改Nginx配置文件,强烈建议reloadTomcat:

    service tomcat {start|stop|restart|status}
    
    • MySQL:
    service mysqld {start|stop|restart|reload|status}
    
    • Pure-Ftpd:
    service pureftpd {start|stop|restart|status}
    
    • Redis:
    service redis-server {start|stop|status|restart|reload}
    

    Memcached:

    service memcached {start|stop|status|restart|reload}
    

    9. 如何升级版本


    cd /root/oneinstack
    ./upgrade.sh
    
    图示:

    10.其它管理

    如何添加附加组件

    cd /root/oneinstack
    ./addons.sh                #注:支持安装、卸载功能
    
    图示:

    如何卸载

    ⚠️可单独卸载某些项,如数据库用RDS,可单独卸载数据库

    cd /root/oneinstack
    ./uninstall.sh           #特别注意备份数据
    
    图示:

    部署一个JavaWeb 网站到服务器

    通过ftp上传代码不需要修改权限,默认已经是www;在服务器里面下载代码必须修改网站根目录及子、目录文件权限都为www;如网站权限出现问题,请参考下面[关于网站根目录权限]的步骤。

    图示:


    访问http://demo.oneinstack.com,输入数据库地址(localhost), 用户名(root),密码(数据库root密码),完成

    Java应用部署说明
    默认镜像是做了动静分离,即nginx处理静态资源(jss、ccc、图片等),其余的交给tomcat处理。
    默认(未绑定域名)对应网站根目录/data/wwwroot/default(不是webapps),部署代码时建议将war包解压(比如example.war,解压命令:jar xf example.war ,注意权限必须为www),将其中代码放到对应网站根目录。
    • 如果上传代码之后目录结构为:/data/wwwroot/default/WEB-INF,访问地址为:http://IP
    • 如果上传代码之后目录结构为:/data/wwwroot/default/example/WEB-INF,访问网站地址为:http://IP/example

    注意:

    • war包也可以不解压即上传到对应网站根目录,但必须注意访问路径和静态资源目录问题。如果访问网站时,静态资源加载不了,可能是原因是做了动静分离静态资源直接有nginx处理,请确认nginx是否能找到相关静态资源(nginx网站根目录:/data/wwwroot/default
    • 如果vhost.sh绑定了域名,如www.example.com,工具会自动生成对应根目录:/data/wwwroot/www.example.com ,请将代码放入此目录。
    • Tomcat参数请修改: /usr/local/tomcat/bin/setenv.sh

    关于网站根目录权限

    网站根目录权限遵循:
    文件644
    文件夹755
    权限用户和用户组 www
    如出现文件权限问题时,请执行下面3条命令:

    chown -R www.www /data/wwwroot/
    find /data/wwwroot/ -type d -exec chmod 755 {} \;
    find /data/wwwroot/ -type f -exec chmod 644 {} \;
    

    关于Redis、Memcached

    Redis默认端口:6379
    Memcached默认端口:11211
    默认监听地址:127.0.0.1
    如果增加Redis最大内存大小?

    vi /usr/local/redis/etc/redis.conf
    maxmemory 1024000000  #单位字节,默认1G,可调整
    service redis-server restart   #重启生效
    

    如何增加Memcached最大内存大小?

    vi /etc/init.d/memcachedCACHESIZE=256      #单位M,默认256M,可调整
    service memcached restart      #重启生效
    

    更改Redis监听端口

    vi /usr/local/redis/etc/redis.conf
    bind 127.0.0.1      #改成bind 0.0.0.0,保存
    service redis-server restart   #重启生效
    

    更改Memcached监听端口

    vi /etc/init.d/memcached
    OPTIONS="-l 127.0.0.1" 改成OPTIONS="", 保存
    service memcached restart        #重启生效
    

    关于iptables防火墙

    默认情况下开通22(ssh)80443(Nginx) 2120000:30000(FTP)
    其它端口都拒绝,如下需要允许其它端口,请如下操作(如开启8080端口)

    iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
    service iptables save #保存iptables规则
    
    图示:

    相关文章

      网友评论

          本文标题:CentOS7.3 JavaWeb项目部署

          本文链接:https://www.haomeiwen.com/subject/apeerxtx.html