记一次腾讯云部署项目过程
云服务:腾讯云
系 统 :ubuntu1.6
一、安装Jdk
-
1.首先去官网下载jdk安装包并用xftp或其他工具上传到自己的服务器上去:
-
2.到jdk安装目录下执行解压命令:
sudo tar -zxvf ./jdk-8u171-linux-x64.tar.gz -C /usr/local //将jdk解压到/usr/local目录下 ./代表当前目录 c 指定解压目录 -
3.配置环境变量:
用 sudo vim /etc/profile 打开系统配置环境变量的文件 ,在文件末尾加入配置如下内容export JAVA_HOME=/root/app/jdk1.8.0_161 //JAVA_HOME为jdk的解压目录
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH添加完成保存退出后执行 source /etc/profile 使配置文件生效。
二、安装mysql
mysql安装命令
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
启动、关闭服务和查看运行状态
sudo service mysql start
sudo service mysql stop
sudo service mysql status
安装过程中会提示输入root用户的密码和确认密码,两次密码保持一致并记下来,最好不要设置过于简单
登陆mysql
mysql -u root -p 后按回车并输入刚才安装过程的密码。
提示:
mysql 5.7版本的配置文件有所变化,cat /etc/mysql/my.cnf
打开配置文件看到如下内容:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
里面包含了两个子文件夹,需要修改的话 去打开/etc/mysql/mysql.conf.d/mysqld.cnf
这个配置文件,
允许远程连接:
打开 /etc/mysql/mysql.conf.d/mysqld.cnf 这个配置文件 注释掉 bind-address= 127.0.0. 也就是在前面加 #
这个时候mysql还是不能支持远程连接的,
不安全的做法:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;//这样做不太安全,可以再创建一个用户允许远程连接
安全的做法:
创建一个mysql用户:
CREATE USER username@ip IDENTIFIED BY 'password';
授予权限:
GRANT ALL ON *.* TO 'username'@'ip' IDENTIFIED BY 'password' WITH GRANT OPTION;//根据具体情况授予相应权限
三、安装Nginx
首先安装前需要依赖第三方库:
-
1.安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool -
2.安装pcre依赖库(http://www.pcre.org/)
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev -
3.安装zlib依赖库
sudo apt-get install zlib1g-dev -
4.安装SSL依赖库
sudo apt-get install openssl
接下来真正要安装nginx,安装步骤如下:(以上为准备工作)
- 1.去nginx官网下载稳定版nginx安装包上传到服务器 或执行 wget http://nginx.org/download/nginx-1.14.0.tar.gz 下载安装包
- 2.将nginx进行解压 sudo tar -zxvf ./nginx-1.14.0.tar.gz -C ./ //将nginx解压到当前目录
- 3.进入到nginx 解压目录 cd nginx-1.14.0/
- 4.对nginx进行配置 sudo ./configure --prefix=/usr/local/nginx //这种配置暂不支持https协议ssl配置,支持的将在后面说到 ./configure详细说明请参考:http://nginx.org/en/docs/configure.html
- 5.进行编译 执行make命令 sudo make;
- 6.进行安装 sudo make install
nginx 安装路径默认为:/usr/local/nginx
nginx 常用命令:
nginx 启动命令: ./sbin/nginx -c ./conf/nginx.conf //指定配置文件启动命令
nginx 重启命令: ./sbin/nginx -s reload -c ./conf/nginx.conf //指定配置文件重启
四、安装Redis
- 1、去官网下载redis安装包上传到自己服务器上,或执行 wget http://download.redis.io/releases/redis-4.0.9.tar.gz
- 2、进入Redis解压目录,进行编译: 执行sudo make //这个过程其实需要gcc环境,在安装nginx时,已经安装过
- 3、安装:执行 sudo make install
- 4.Redis 安装路径:/usr/local/bin
一些配置:
这个时候进入redis的安装目录 执行./redis-server
启动redis 服务端,通过客户端连接(./redis-client)是不需要密码的!
下面配置需要密码的方式。
进入redis的解压目录:将redis.conf文件拷贝一份,放到任意目录下,然后编辑,找的有关password的说明,加入如下配置:
requirepass password
然后保存退出!再次启动服务端,这次加上了redis.conf配置文件
./redis-server /my/redis.conf
客户端启动:
./redis-client -a pasword //password 为刚才的密码
五、安装Tomcat
这个安装比较简单:
去官网下载tomcat上传到服务器上,或执行 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
然后执行解压命令:
tar -zxvf ./apache-tomcat-8.5.30.tar.gz -C ./
接下来将war包放入webapp目录下,进入bin目录下 执行./startup.sh 启动tomcat
这时访问我们的项目是需要输入项目名的,如果是8080端口启动,并且还要指定端口,那么如何输入域名直接访问呢?
接下来先配置Tomcat,访问的时候不用输入项目名
- 1.打开tomcat的配置文件 server.conf文件,找到Host节点,加入如下内容
// 例如 "/home/ubuntu/app/apache-tomcat-8.5.30/webapps/wechat_bussiness/" ---->也就是配置虚拟目录
同时将Host节点的appBase改为 appBase="",不然项目可能会被加载两次。 - 2.重启Tomcat
六、配置Nginx
接下来解决8080端口问题,浏览器http请求默认是80端口,Nginx启动后默认正好是监听80端口。所以我们可以利用Nginx做请求转发,将80请求转到8080。而且由于Tocmcat处理静态资源的能力比较弱,我们又可以利用Nginx做动静分离,也就是将静态资源请求不经过Tomcat,而直接访问到文件,当然Nginx的作用可远不止这些哦!
以下是Nginx配置,打开nginx配置文件 nginx.conf
server {
listen 80 ; 监听端口
server_name 域名;
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:8080/;
}
location ^~ /static/ {
root /home/ubuntu/app/apache-tomcat-8.5.30/webapps/项目名/;#静态资源文件路径
expires 30d;
}
通过这样简单的配置,就可以直接通过域名访问了,接下来是Nginx对Https的支持