centos7 appche tomcat nginx基本安装
安装appache:
安装命令:yum install httpd
启动命令:systemctl start httpd.service
查看状态:systemctl status httpd.service
netstat -lntp查看监听的端口
有的服务只监听ipv6端口,但是ipv4仍然可以连接服务为什么?因为服务端软件定义处理ipv6的函数也可以处理ipv4的连接
参考网址:https://www.cnblogs.com/kaishirenshi/p/13496475.html
配置appache:
appache的配置文件位置: /etc/httpd/conf/httpd.conf
vi打开httpd.conf
ServerRoot "/etc/httpd" #这里配置的是appache服务根目录,是放置配置文件的目录
Listen 80 #配置监听端口,默认是80
ServerName www.example.com:80 #配置网址的网址
DocumentRoot "/var/www/html" #配置默认主页和其他链接文件的存储目录
DirectoryIndex index1.html #配置默认主页文件
各种连接错误的默认网页文件,比如404,500等错误发生后导向的错误页面:
安装php
配置apache可使用php:
进入appache配置文件:
在httpd.conf中找到 AddType 的地方添加一行,这是添加appache对php文件解析的支持
AddType application/x-httpd-php .php(注意空格!!!!!!!)
找到 DirectoryIndex index.html
在index.html 添加一个index.php或者default.php
重启apache
systemctl stop httpd.service
systemctl start httpd.service
或者:systemctl restart httpd.service
在/var/www/html,新建文件index.php,内容如下:
<?php
echo 'hello php5.6';
?>
测试访问:
访问地址192.168.10.21:80/index.php,即可看到“hello php5.6”。
测试正常了
安装Tomcat:
命令:yum install tomcat
Tomcat页面乱码解决参考网址:
https://cloud.tencent.com/developer/article/1441354
页面乱码在这个位置添加配置:
修改默认加载的主页:
打开"/usr/share/tomcat/conf"目录下的文件"server.xml"找到host节点,在其内部添加节点
说明:<Context path="虚拟路径" docBase="JSP应用程序的物理路径" workDir="JSP应用程序的工作目录" debug="0" reloadable="true"></Context>
例如:<Context path="/myapp" docBase="E:/JSP/appname" workDir="E:/JSP/appname/work" debug="0" reloadable="true"></Context>
其中path是一个虚拟先对目录(相对于docBase目录而言的一个相对目录),如果要只输入ip地址就显示web.xml文件中定义的欢迎主页,则该键值留为空(不是含空格的,是空);debug和reloadable一般就设置成0和true就行了。在项目编写和测试阶段reloadable设置为true表示只要tomcat中的项目有改动tomcat就会自动重新加载编译,可以带给我们一些方便,但是在项目发布阶段一般设为false,可以提高tomcat的性能。
注意:
1.如果path=""那么只要在浏览器中键入http://localhost:8080就会加载设定的默认首页。否则要加上虚拟目录名才会加载主页,如:http://localhost:8080/myapp
2.可用于JSP应用程序的发布,但是要加载的主页的全名一定要为web.xml文件定义的欢迎页文件列表里,这是不要加主页全名即可加载,否则在URL中要写明首页名,这就和其他页面加载没优势区别了。
如果要加载的主页的全名不是web.xml文件定义的欢迎页文件列表里的名称,也可以修改web.xml把名称加进去(一般不用这样,用一个通用的主页名称更容易区别和管理):
找到tomcat根目录下的conf目录下的web.xml文件(在conf目录下),在最下面找到 节点<welcome-file-list></welcome-file-list>,把想要的名称填上去
如图:
这里的index.html是在目录"/usr/share/tomcat/webapps"下就有的一个页面
tomcat设置域名访问:
打开>/usr/share/tomcat/conf/server.xml
设置节点Hose 的name属性为:www.test.com
要在本地访问域名,因无域名解析服务器,所以在hosts上配,来模拟dns解析。还得修改相关HOST文件
这里web服务ip是192.168.10.21
如果本地是Windows:打开C:/WINDOWS/system32/drivers/etc/hosts,加入"192.168.10.21 www.test.com"
如果本地是linux,执行> vi /etc/hosts,打开hosts文件加入"192.168.10.21 www.test.com"
如果web在是local加127.0.0.1
tomcat 添加多域名:
打开>/usr/share/tomcat/conf/server.xml
复制host整个节点,粘贴到原有host节点后,注意要复制全,另外,如果有更改的设置也要一并在节点内设置更改
更改设置新增节点的name属性为:www.xinzeng.com #(例子)
tomcat启用管页面和管理员:
打开文件>/usr/share/tomcat/conf/tomcat-users.xml
找到节点 :<role rolename="admin-gui"/>,一般是被注释了,为其取消注释
还有节点:<user />同样为其取消注释,并查看默认密码,重启tomcat后输入管理页面就可以登录了
http://192.168.10.21:8080/host-manager/html
安装nginx:
参考网址:https://nginx.org/en/linux_packages.html#RHEL-CentOS
因为已经安装yum-utils,跳过此步骤
新建文件:"/etc/yum.repos.d/nginx.repo"
在文件"/etc/yum.repos.d/nginx.repo"中写入如下内容:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
设置yum安装nginx安装主线版本:
命令>sudo yum-config-manager --enable nginx-mainline
安装nginx:
命令>yum install nginx
期间会安装秘钥:
已经安装了:
nginx的配置文件位置:The way nginx and its modules work is determined in the configuration file. By default, the configuration file is named nginx.conf
and placed in the directory /usr/local/nginx/conf
, /etc/nginx
, or /usr/local/etc/nginx
.
我安装的配置文件目录是在"/etc/nginx"目录下
nginx还有一默认的配置文件:
这是nginx的程序默认配置文件,当nginx的配置文件(上面所说的前一个"/etc/nginx/nginx.conf")中有写入配置时,会覆盖默认配置.
启动nginx master(主程序)
命令>nginx
注意,有时可能端口被占用(默认是80端口),nginx maser启动会失败(可以先关闭占用端口的进程或者更改端口):
另外,如果nginx master已经在运行,再执行启动nginx 命令也会提示地址被占用,这时就应该用
命令>netstat -lntp|grep nginx #检索是否有nginx master进程存在
测试nginx(未配置的默认端口是80)
已经可以访问了
nginx的 -s 命令:
以特定目录下的配置文件启动:nginx -c /特定目录/nginx.conf
重新加载配置:nginx -s reload 执行这个命令后,master进程会等待worker进程处理完当前请求,然后根据最新配置重新创建新的worker进程,完成Nginx配置的热更新。
立即停止服务:nginx -s stop
从容停止服务:nginx -s quit 执行该命令后,Nginx在完成当前工作任务后再停止。
检查配置文件是否正确:nginx -t
检查特定目录的配置文件是否正确:nginx -t -c /特定目录/nginx.conf
重新打开nginx:nginx -s reopen
打开nginx maser : nginx
查看版本信息:nginx -v
配置systemd方式管理NG
新建文件"/etc/systemd/system/nginx.service"
内容:
这样就可以用systemctl来管理nginx进程了
nginx的默认主页位置:
由于appache的默认端口和nginx的默认端口相同,这里选择更改appache的默认端口为:8008
已经更改了:
再启动tomcat,访问tomcat.service
这样在服务器上Apache在8008端口,nginx在80端口,tomcat在8080端口,都可以访问
陪目标是:静态网页内容在nginx上解析,php在appache上解析,如果是applet类的在tomcat上解析