CentOS生产环境设置及产品系统升级策略
0x00 前沿
此次系统升级大改,从电路板、嵌入式程序、硬件通信协议、硬件与服务器通信协议设计与文档编写、Android程序、Java后台服务程序、数据库结构、PHP后台、前端Web用户操作指令、iOS应用用户操作指令(先审核再适时发布)等进行同步升级,服务器操作系统也由Windows切换成CentOS。为了最大限度地进行无痕升级过度,测试花了不少时间。付出没有白费,新系统在短时间内切换上线,用户近乎无感,没有太大的问题,一些小问题也得到了非常及时的修复,上线运行了一些日子已经算是比较稳定了。
0x01 安装GNOME桌面
虽然生产环境下不开桌面比较好,但桌面也是不时之需
yum groupinstall -y "GNOME Desktop" "Graphical Administration Tools"
启动图形化桌面
startx
0x02 格式化和挂载数据盘
为了方便数据维护,购买了一块数据盘,先挂载数据盘
1)格式化
有图形化磁盘管理工具就不用命令行了。
进去选择未格式化的磁盘,这里可以看到设备路径为/dev/vdb
,进行格式化,在这里我命名为www
fdisk -l
命令也可以看到磁盘路径
2)挂载
创建www目录,并挂载
mkdir /www
mount /dev/vdb /www
开机自动挂载
echo '/dev/vdb /www ext4 defaults 0 0' >> /etc/fstab
或者使用磁盘工具挂载
执行df -f
命令可以看到已经挂载好了。
0x03 添加用户
用户界面管理工具进不去,可能是只有一个root用户,那么就命令行添加其它用户。
adduser hello
添加用户”hello”
passwd hello
修改”hello”用户的密码
命令行添加后就可以用界面工具了。。。
0x04 安全组规则设置
使用的是阿里云服务器,要公网访问服务器,选择入方向即可
开放单独端口号80/80
或范围端口号80/85
所有人都能访问 IP规则 0.0.0.0/0
0x05 设置中文输入法
区域和语言加号->汉语->添加拼音输入法
0x06 IPV6配置
vim /etc/modprobe.d/disable_ipv6.conf
options ipv6 disable=0
vim /etc/sysconfig/network
NETWORKING_IPV6=yes
vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
重启,执行ifconfig
命令查看分配了IPV6地址,至于要通过IOS的审核环境,可参考文章最下面的《IPV6配置》
0x07 数据库启动失败问题
使用命令行启动,显示如下:
root@hello ~]# service mysqld start
Starting MySQL.180314 17:50:59 mysqld_safe Logging to '/www/server/data/mariadb.err'.
180314 17:50:59 mysqld_safe Starting mysqld daemon with databases from /www/server/data
/www/server/mysql/bin/mysqld_safe_helper: Can't create/write to file '/www/server/data/mariadb.err' (Errcode: 13 "Permission denied")
应该是目录没有访问权限。那么我们赋予mysql用户权限操作:
chown -R mysql:mysql /www/server/data
chown -R mysql:mysql /www/server/mysql
service mysqld start
成功启动
0x08 FTP上传中途失败
原因是服务器对每个IP创建的客户端连接数进行了限制,FTP客户端采用多线程方式触发了此规则。修改pure-ftpd服务器配置文件:
MaxClientsPerIP 100
0x09 8uftp无法取得目录列表
8uftp客户端高级->选项->防火墙设置->去掉勾选(PASV)被动模式
Hbuilder FTP插件改为主动模式
服务器安全组策略打开21(用户认证)和20(数据传输)端口
0x0A Java服务部署
上传activmq并解压运行
tar -zxvf apache-activemq-5.15.3-bin.tar.gz
./activemq start
查看是否运行:
ps -ef |grep activemq
netstat -noa | grep 8161
netstat -noa | grep 61616
nohup java -jar xxx.jar >xxx.log &
运行jar程序并指定输出日志路径
netstat -nap | grep 8080
查看占用进程pid
ps -ef |grep hello.jar
ps pid
查看进程路径
kill -9 pid
强行结束进程
0x0B 数据迁移
1)文件迁移
FTP下载文件,FTP或WinSCP上传
2)数据库迁移
新系统增加了数据库表结构(没改减),所以在本地将新表结构做好,迁移结构到新服务器上。
再备份旧数据库为SQL文件(仅备份insert数据,不导出表结构),在新服务器数据库里执行SQL进行数据迁移。
0x0C 数据库编码异常
新版本在Java中插入了中文到数据库,故而出现乱码问题。Java端用的是hikari数据库连接池
连接时应该指定编码:
jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=UTF-8
0x0D 微信单点登录、支付
新系统切换了子域名,所以微信登录、支付、分享等接口都受影响、需要兼容升级。只需要在授权域名处获取code,把code的返回给子域名就行了,此外使用下面开源组件需要注意用户信息code的授权域&scope=snsapi_userinfo
,不然会导致获取用户信息失败,看代码才知道,作者是没有说明的。这里有个很大的坑,即使授权域不是snsapi_userinfo
,以前有过授权的微信帐号,即使在数据库中将其删掉重新注册也能获取用户信息,但新用户微信授权注册却无法获取用户信息。
https://github.com/lionskys/codetoany
微信支付签名错误:
公众号支付与APP支付的mch_key不能一样
0x0E 微信分享
- 添加JS回调安全域名
- 基本配置->添加新主机IP白名单,多个用换行符隔开
(这一点很容易忽略)
- -
0x10 Memcache与Memcached
Memcached可以看作是Memcache的升级版,Memcached服务器兼容Memcache客户端。PHP客户端要确定好使用memcache还是memcached扩展。
0x11 参考文章
磁盘挂载
https://www.cnblogs.com/nsw2018/p/6441542.html
IPV6配置
http://coolnull.com/4474.html
http://coolnull.com/4476.html
【转载请注明出处: http://blog.csdn.net/leytton/article/details/79551974】
PS:如果本文对您有帮助,请点个赞让我知道哦~微笑
CentOS生产环境设置及产品系统升级策略相关推荐
- Galaxy 生信平台(二):生产环境部署
在 上一篇文章中,我们介绍了适合单个用户进行使用和开发的 Galaxy 在线平台,今天我们来聊一下在为多用户生产环境设置 Galaxy 时,我们应采取的一些可以让 Galaxy 获得最佳性能的额外步骤 ...
- 多线程之线程池的拒绝策略,以及生产环境如何合理设置参数(十二)
上篇博文,我们详细的介绍了线程池的原理,这篇我们重点介绍线程池的拒绝策略,以及生产环境如何合理设置参数.为什么我们要单独拿出一篇博文来写拒绝策略以及配置参数呢?因为自定义线程池配置的重点就两项:一.选 ...
- .net core 2.0 部署到centos 7生产环境
.netcore的跨平台如此之火,忍不住想试试 在linux下部署 .net 程序. 借鉴此篇博文:将ASP.NET Core应用程序部署至生产环境中(CentOS7) 虽然是借鉴,但过程坎坷.对从未 ...
- 在Ubuntu 14.04上设置生产环境可用的Node.js
在Ubuntu 14.04上设置生产环境可用的Node.js 提供:ZStack社区 前言 Node.js是一个开源的JavaScript运行时环境,开发者可以用它方便的构建服务器端应用和网络应用.N ...
- asp.net生产环境和开发环境的错误日志包装策略
对于错误日志的输出,我们借助web.config的两个标志位: <!--全局包装异常处理页面,只有在PageError和Application_Error做清除错误操作才可不跳转--> & ...
- 阿里云centos环境之被dos,syn攻击策略和排查方法,持续更新九
阿里云centos环境之被dos,syn攻击策略和排查方法,持续更新<九> 阿里云centos环境之被dossyn攻击策略和排查方法持续更新九 查看cpu使用情况 查看网络连接情况 检查端 ...
- .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)...
Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言 前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟迟没有推 ...
- CentOS(5.8/6.4)linux生产环境若干优化实战
CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.4). 下 ...
- CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维
特别说明:本文来自就爱运维.特和所有博友分享.更多优化,请关注www.92yunwei.com后续内容以及分享. CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才 ...
最新文章
- 如何用 React Native 创建一个iOS APP?(二)
- oracle / parallle /,Oracle海量数据迁移之使用shell启用多个动态并行
- C++实现两个矩阵相乘
- Xenix — 微软与UNIX的短暂爱恋
- dbms_DBMS | 并发控制
- 作者:佟继周(1976-),女,中国科学院国家空间科学中心研究室副研究员、副主任...
- Router_Cloud
- Launcher3无图标问题
- Q109:用PBRT渲染Blender导出的模型 (2)
- MySQL大表优化方案,单表优化、读写分离、缓存、分区表……都在这里了
- Unity写的3D人工智能棋类博弈小游戏-四子棋
- LwIP+ STM32+HTTP例程参考
- TrackFormer: Multi-Object Tracking with Transformers
- Libra最后的命运
- No connected devices found; please connect a device, or see flutter.dev/setup for getting started in
- 电子器件系列二:IGBT
- linux pam 使用例子,PAM认证模块使用实例
- windows下装苹果系统---详解
- 许愿墙 – javaee 项目实战(一)
- 手牵手教你写 Vue 插件
热门文章
- 电脑客户端如何同时登陆多个微信账号
- 恐怖,差4000万,印度人口超中国!!
- unity3d 场景设置注意事项
- MySQL建库建表(初识MySQL)
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'
- 初识C#开源商城BrnShop及BrnMall
- GPS经纬度数值格式化
- 新支点ICG-S2600场馆临时wifi租用,展会无线网络覆盖解决方案
- 电路板常用连接器(接插件)介绍与选型建议(一文搞懂如何使用FFC/FPC连接器)
- makefile 语法 /usr/bin/ld: cannot find -lxxxx