阿里云ubuntu16系统搭建LAMP,安装tomcat,jdk,以及在tomcat上部署第一个javaweb项目详细步骤

1、更新软件源

sudo  apt-get update

2、安装apache

sudo apt-get  install apache2

3、 查看apache搭建是否成功

apache2 –v

出现下面样式图片即表示搭建成功
出现这个表示安装成功

4、查看apache安装是否成功

通过浏览器访问服务器的IP,如果出现Apache欢迎界面,表示安装成功,如下所示:
在这里插入图片描述

5、安装php

sudo apt-get install php7.0

6、查看php是否安装成功及版本

php -v   

到这一步,LAMP环境已经搭建好了,接下来进行测试

新建index.php文件,并删除 /var/www/html下面的index.html文件(index.* 文件表示进入网站的首页面,且优先级.html大于.php文件)

vim /var/www/html/index.php

插入

<?php phpinfo(); ?>

在浏览器地址栏输入服务器公网ip ,如果看到php的相关信息了就说明安装成功了!

7、安装php相关扩展

(1) 安装php-mcypt (加密函数库)
先安装Linux的mcrypt

sudo apt-get install mcrypt

然后安装PHP的mcrypt

sudo apt-get install php-mcrypt

安装完之后,重启Apache2

sudo service apache2 restart

通过浏览器访问index.php,如果看到mcrypt扩展开启,就成功了,其他扩展安装也是如此

最后进文件

扫描二维码关注公众号,回复: 9232593 查看本文章

/etc/php/7.0/apache2/php.ini

取消注释

extension=php_mbstring.dll
并将
extension=php_mbstring.dll
改成
extension=php_mbstring.so
然后新增
extension=php_mcrypt.dll

8、安装mysql

extension=php_mbstring.dll

安装PHP7.0-mysql

sudo apt-get install php7.0-mysql

重启MySQL

sudo service mysql restart

重启Apache

sudo service apache2 restart

安装phpmyadmin(最好安装,方便操作以及设置后面的远程登录账户)

sudo apt-get install phpmyadmin

安装过程中会提示输入密码等,直接输入即可,安装完成后默认放在/usr/share/phpmyadmin目录下,为了能够使我们通过web访问,这里需要建立一个软连接将其连接到Apache的默认目录下

sudo ln -s /usr/share/phpmyadmin /var/www/html/pma

这里我们建立了一个pma的软连接指向实际的PHPmyadmin目录,在浏览器中直接访问PHPmyadmin,输入IP/pma,如下所示

在这里插入图片描述
开启mysql远程访问

登陆mysql mysql -u root -p 进入数据库,选择mysql表,将host只能本地访问的 localhost 改为 %

update user set host="%" where user="root"; 

然后刷新权限

flush privileges;

然后再授权设置

use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

接下来
查看3306端口是否被开放

root@iZwz956snfyrvah6yq8sa4Z:~# netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

注意:现在3306端口只能被本地访问(127.0.0.1)。修改mysql配置文件,我这里的文件路径是/etc/mysql/mysql.conf.d/mysqld.cnf

vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到

bind-address      = 127.0.0.1

在前面加上 #号,将它注释掉,重启MySQL。

service mysql restart

再次查看3306端口

root@iZwz956snfyrvah6yq8sa4Z:~# netstat -an | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN 

然后就可以用navicat等远程工具连接阿里云服务器的mysql了。

修改Mysql字符:
第一步,打开mysql配置文件:

在 【client】下追加:
default-character-set=utf8
在 【mysqld】下追加:
character-set-server=utf8
在 【mysql】 下追加:
default-character-set=utf8

保存并退出
注: 我的【mysqld】在 /etc/mysql/mysql.conf.d/mysqld.cnf
我的【mysql】 在 /etc/mysql/conf.d/mysql.cnf
我的【client】 在 /etc/mysql/debian.cnf

第二步,重启mysql

service mysql restart

第三步:查看字符集

mysql -u root -p
输入密码
show variables like '%character%';

在这里插入图片描述
第一步:登陆mysql查看mysql实际连接数

mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 214   |
+-----------------+-------+
row in set (0.00 sec)

发现mysql的实际最大连接数只有214,和配置文件的1000不一致,也就是mysql的最大连接数设置并没有生效。
Linux一切皆文件,于是查看了下mysql的文件限制。

第二步:检查mysql可以打开的文件数量

mysql> show variables like '%open_files_limit%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 1024  |
+------------------+-------+

发现mysql的open_files只有1024,于是我开始查看系统的文件设置。

第三步:检查系统文件

ulimit -a
root@jiajia:~# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3824
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3824
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

发现系统文件的open files 为65535,说明这个open file并没有被mysql使用。

解决办法第一种:

使用systemctl 命令编辑mysql.service

systemctl edit mysql.service


输入一下内容

[Service]
LimitNOFILE=infinity
LimitMEMLOCK=infinity

保存上边的输入,系统会自动文成下边的文件

/etc/systemd/system/mysql.service.d/override.conf

更改mysql配置文件
max_connections = 9999
重启这两个服务

systemctl daemon-reload #让 SystemD 重新加载配置文件
systemctl restart mysql.service

登陆mysql查看

mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 9999  |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show variables like '%open_files_limit%';
+------------------+---------+
| Variable_name    | Value   |
+------------------+---------+
| open_files_limit | 1048576 |
+------------------+---------+
1 row in set (0.00 sec)

更改成功,以后更改配置文件也可以使用一下命令生效。

service mysql restart 

解决办法第二种:

直接更改mysql.service,在/etc/systemd/system 目录下我查看了下其他被systemctl 所管理的服务

ll redis.service
redis.service -> /lib/systemd/system/redis-server.service

发现其实这里服务通过软连接使用的是/lib/systemd/system下的服务,于是可以直接修改这个目录下的mysql服务(mysql.service服务在/lib/systemd/system下)

cd /lib/systemd/system
vi mysql.service

修改mysql.service

# MySQL systemd service file
[Unit]
Description=MySQL Community Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
PermissionsStartOnly=true
ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld
ExecStartPost=/usr/share/mysql/mysql-systemd-start post
TimeoutSec=600
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755
LimitNOFILE=infinity   #新增
LimitMEMLOCK=infinity  #新增

保存后,重启mysql服务

service mysql restart

登陆mysql查看,我的另一台服务器修改最大连接数为3000

mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 3000  |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show variables like '%open_files_limit%';
+------------------+---------+
| Variable_name    | Value   |
+------------------+---------+
| open_files_limit | 1048576 |
+------------------+---------+
1 row in set (0.00 sec)

至此:这样mysql的最大连接数就修改成功了。

9、安装jdk

考虑到jdk,tomcat压缩包比较大,建议先使用Xftp将压缩包上传到服务器,压缩包可以上网上找,也可以在我的博客里面下载 jdk+tomcat下载地址
在这里插入图片描述
然后便开始安装吧!

找到刚才上传的压缩包的地址,我这里是

cd /usr/tools

然后分别解压两个压缩包

tar -zxvf  tomcat-9.0.13.tar.gz
jdk1.8.0_20.tar.gz

然后启用编辑器

vim ~/.bashrc

输入i进入编辑后在下面插入以下内容编辑环境变量,编辑完之后按esc退出编辑,再输入 :wq保存更改后退出

export JAVA_HOME=/usr/tools/jdk1.8.0_20 
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

注意:这里只需要将
export JAVA_HOME=/usr/tools/jdk1.8.0_20 修改成你自己的jdk目录即可,其他的地方不变
终端输入source ~/.bashrc使更改生效,然后输入java -version查看jdk版本信息以验证jdk是否安装成功
在这里插入图片描述
出现以上信息则说明jdk安装成功。

因为刚才解压了tomcat压缩包,所以现在只需要启动tomcat就好了

cd /usr/tools/apache-tomcat-9.0.13/bin
./startup.sh

等待片刻输入ip:8080,如果出现下面图片即表示tomcat搭建成功
在这里插入图片描述

至此:所有的准备工作都准备好了,开始我们web项目的部署吧!
将java项目打包成.war文件,如果不知道怎么打包的请参见下面两篇博客,本文不再赘述!

如何打包一个Myeclipse的javaWeb项目

https://blog.csdn.net/shinoey/article/details/53641403

如何打包一个IDEA的javaweb项目

https://blog.csdn.net/qq_42986107/article/details/92094960

将打包好的.war文件传到服务器tomcat的webapp目录下面(这里介绍两个非常好用的工具Xshell和Xftp,可以在网上下载,也可以在我博客资源里面下载 Xshell+Xftp
在这里插入图片描述
然后直接输入 ip:8080/你的项目名字/ 就可以访问你的javaweb项目了!当然了,这样要输项目名比较麻烦,很多字母不好玩,要是直接输入ip就可以访问那该多爽撒! 网上介绍了传统的方法就是映射,感兴趣的可以搜索一下, 在这里我想介绍一种比较简单的方法。

cd  /var/www/html

进入html目录,上文我们不是配置了index.php页面吗?那个是为了验证php是否安装成功的,现在我们需要将index.php重写编写一下。

vi index.php

将下面代码覆盖原有的

<?php
Header("Location: http://写你的ip:8080/这里写你的项目名字/");  
?>

不需要重启服务器以及tomcat,直接输入ip就可以访问你的项目了。这是为什么呢?我们有必要做一下解释!
因为在 /var/www/html 目录里面是放php项目的,里面的index.php是可以通过ip直接访问的,如果需要直接访问java项目,我们在前文说了是要映射的,上面 的代码我们只是做了一个页面跳转,输入ip然后跳转到 http://写你的ip:8080/这里写你的项目名字/ 这个url ,你看这个url是不是最开始你访问javaweb的url嘛!所以现在你知道为什么了吧。

好了,现在访问php项目就更简单了吧,此文就不再赘述了!

发布了69 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40985788/article/details/103073555
今日推荐