


Jsp and PHP share port 80 when integrating Apache and Tomcat for access without adding a port number.
Purpose: Copy the code The code is as follows: Copy the code Code As follows: If you want users to avoid adding "/", please see "Add a backslash after the website directory" ........................ 【......Read more】 Follow WeChat ID :javalearns Learn Java anytime and anywhere or scan
Integrate Apache and Tomcat so that both Java projects and PHP projects can share port 80. When accessing the website, there is no need to add the port number in the address bar.
Environment description:
Linux CentOS 32-bit
Apache 2.2.2
Tomcat 7.0.37
Preparation:
Download mod_jk.so
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries /
Open the link and find the appropriate file to download. After downloading, rename it to mod_jk.so
Modify Apache related files
1. Upload mod_jk.so to the /modules directory
2. Create a new file mod_jk.conf in the /apache/conf directory
#Load mod_jk module
LoadModule jk_module modules/mod_jk.so
#Where to find workers.properties
JkWorkersFile conf/workers.properties
#Where to put jk logs
JklogFile logs/mod_jk.log
#Set the jk log level[ debug/error/info]
JkLogLevel info
#Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#JkOptions indicate to send SSL KEY SIZE,
JkOptions + ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
#Send servlet for context /examples to worker named ajp13
JkMount /servlet/* ajp13
#Send all files under MyProject for to worker named ajp13
JKMount /MyProject ajp13
3. Create a new file workers.properties in the /apache/conf directory
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13. type=ajp13
worker.ajp13.lbfactor=1
4. Modify /conf/httpd.conf
Listen 80 to Listen Your IP: 80
ServerName localhost:80
Add Include conf/mod_jk.conf in the last line
Find DocumentRoot , remember its value, it will be useful later. Mine is /www/apache/htdocs
5. Add the
ServerAdmin webmaster@dummy-host.example.com
ServerName www.sample.cn/m
ProxyRequests Off
Order deny,allow
Allow from all
ProxyPass /MyProject http://www.sample.cn/MyProject/pages/ login.jsp
ProxyPassReverse /MyProject http://www.sample.cn/MyProject/pages/login.jsp
[Note:] The name of the red part must be consistent, that is to say, it must be the same as tomcat The project names under are the same
Modify Tomcat related files
1. Add ROOT.xml under tomcat
My directory is like this: /opt/tomcat/conf/Catalina/localhost
Create new ROOT.xml
2. Modify /conf/server.xml
I. Modify the default port number (or not change it, the default is usually 8080)
II. Check the AJP port number (8009 cannot be modified, if this sentence is commented out, uncomment it)
III. Check the
---------------- ------friendly reminder------------------------------------------ -------------------
At this point, you can access the java project through "domain name/project name/", but please note that the last "/" cannot be missing!
The above introduces the port 80 shared by Jsp and PHP. There is no need to add a port number when integrating Apache and Tomcat access, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Linux new version
SublimeText3 Linux latest version
