linux服务器部署,项目 nginx+tomcat+redis+mysql。 记录简单的搭建过程和部署出现的问题。
安装nginx
// 检测nginx 是否运行启动
ps -ef | grep nginx
root 15705 1 0 14:07 ? 00:00:00 nginx: master process ./nginx
nobody 15706 15705 0 14:07 ? 00:00:00 nginx: worker process
root 15940 15409 0 14:09 pts/0 00:00:00 grep --color=auto nginx
// 进入当前的进程,就能看到执行nginx的位置
cd /proc/15705
lrwxrwxrwx 1 root root 0 Nov 2 14:11 exe -> /usr/local/nginx/sbin/nginx*
// 安装nginx
-- 解压nginx : tar -zxvf nginx-1.14.2.tar.gz
-- 进入解压后的目录: cd nginx-1.14.2
-- 执行nginx要安装的位置: ./configure --prefix=/usr/local/nginx-1.14.2
-- 在当前目录执行: make
-- 进入nginx 的安装目录(/usr/local/nginx-1.14.2),执行:mke install
-- 进入sbin 执行: ./nginx 启动
-- 进入conf目录配置nginx,默认80端口:
-- 测试nginx能否访问成功,或者使用浏览器访问: curl localhost
-- /usr/local/nginx/sbin/nginx -t测试配置文件修改是否正常
-- 重新加载配置 ./nginx -s reload
nginx 配置修改
upstream nodes {
server 127.0.0.1:8180; //分发的地址
server 127.0.0.1:8181;
}
server {
listen 80;
server_name loclhost;
proxy_set_header Host $host;
location / {
proxy_pass http://nodes; // 反向代理
root html;
index index.html index.htm;
}
}
参考:Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件
Linux环境下Nginx的安装
linux下搭建nginx
Nginx学习系列三Nginx的启动、停止、修改配置文件后重启
Nginx服务器之负载均衡策略(6种)
Nginx 配置详解
mysql 数据库运行sql
问题1:
-- Mysql:The user specified as a definer ('xxx@'%') does not exist:
创建视图出现这个错误:视图没有权限,
登陆mysql ,执行
mysql -u root -pChinacdc
mysql >grant all privileges on *.* to root@"%" identified by "Chinacdc"
mysql >flush privileges
先执行不需要依赖别的视图的视图,然后再执行其他视图。
问题2:
-- MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 :
创建函数出现了,此问题
执行 SET GLOBAL log_bin_trust_function_creators = 1;
-- mysql linux 安装包下载地址:
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/
问题3 :
-- mysql 表名大小写敏感导致的问题
出现错误:Table 'testdb.xxx' doesn't exist
设置 lower_case_table_names 为 1
show variables like '%lower_case_table_names%'; // 查看
-- 找到linux mysql 配置文件所在位置: whereis mysqld 结果: /usr/local/mysql/bin/mysqld
--查看mysql配置文件所在位置 : /usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options' 结果: /etc/my.cnf /etc/mysql/my.cnf
-- 修改配置: vi /etc/my.cnf
-- 在[mysqld]节点下添加 lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)
-- 重启mysql 数据库:
第一种方式
service mysqld restart
第二种方式
/etc/init.d/mysql stop
/etc/init.d/mysql start
参考:Mysql:The user specified as a definer (‘xxx@’%’) does not exist的解决方案
MySQL This function has none of DETERMINISTIC, NO SQL…错误1418 的原因分析及解决方法 (转)
MySQL表名大小写敏感导致的问题
关于Linux安装mysql默认配置文件位置
Mysql Table doesn’t exist问题解决方式
linux下mysql 重启命令
redis
redis下载地址:https://redis.io/download
-- 检测redis 是否安装 : whereis redis-cli 结果: redis-cli: /usr/bin/redis-cli
whereis redis-server 结果: redis-server: /usr/bin/redis-serve
--解压:tar xzf redis-5.0.5.tar.gz
--进入目录 cd redis-5.0.5
--安装 make
--进入目录,启动redis cd ./src/redis-server
-- 允许远程访问:
--配置redis.conf
将 bind 127.0.0.1 使用#注释掉,改为# bind 127.0.0.1(bind配置的是允许连接的ip,默认只允许本机连接;若远程连接需注释掉,或改为0.0.0.0)
将 protected-mode yes 改为 protected-mode no(3.2之后加入的新特性,目的是禁止公网访问redis cache,增强redis的安全性)
将 requirepass foobared 注释去掉,foobared为密码,也可修改为别的值(可选,建议设置)
-- 设置iptables规则,允许外部访问6379端口
iptables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
临时生效,重启后失效。若想永久生效,请参考另一篇文章:http://www.cnblogs.com/jinjiyese153/p/8600855.html
-- 关闭redis
./redis-cli shutdown
-- 启动redis,并指定配置文件
./redis-server ../redis.conf
-- 测试远程连接访问
./redis-cli -h 120.0.0.2
参考:查看linux上面是否有安装redis,redis启动
CentOS下配置redis允许远程连接
linux redis 远程访问
Linux下停止和启动redis
tomcat 配置
启动项目 logs/catlina.out 文件中提示:
xxx.html 的资源添加到Web应用程序[/xxx]的缓存中,
因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。
在 /conf/context.xml 的 </Context>前添加以下内容(大小默认是1024,单位是KB):
<Resources cachingAllowed="true" cacheMaxSize="100000" />
配置项目访问路径为 / 访问 ,配置在 server.xml 中的 <HOST/> 标签中
<Context path =“/” docBase =“/projectName” debug =“0” reloadable =“true” />
修改tomcat 配置: 修改 /bin/catlina.sh 在第一行加入
--------------------------------------------------------------------------------------------
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms1024m -Xmx1024m
-XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m
-XX:MaxPermSize=512m -XX:+DisableExplicitGC"
---------------------------------------------------------------------------------------------
-Xms – 指定初始化时化的栈内存
-Xmx – 指定最大栈内存