Java web có chạy trên localhost linux
Apache là gì?Apache gọi tắt của Apache HTTP Server là một chương trình máy chủ giao tiếp bằng giao thức HTTP và hoạt động trên hầu hết các hệ điều hành. Ví dụ như Unix, Windows, Linux, Novell Netware và nhiều hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới www. Vậy cơ sở hình thành Apache là gì? Cùng Mắt Bão tìm hiểu nhé! Show
Apache là phần mềm web server miễn phí mã nguồn mở. Hiện nay nó đang chiếm đến khoảng 46% thị phần websites trên toàn thế giới. Với tên gọi chính thức là Apache HTTP Server, Apache được điều hành và phát triển bởi Apache Software Foundation. Mục đích của Apache là giúp chủ trang website đưa nội dung lên web. Do đó Apache được xếp vào dạng phần mềm “web server”. Đây là một trong số những web server lâu đời và đáng tin cậy nhất với phiên bản đầu tiên đã được ra mắt từ hơn 20 năm trước. Apache là một trong những web server phổ biến nhất thế giới cho phép bạn thiết lập website an toàn, tiết kiệm chi phí lẫn công sức một cách hiệu quả và được những đơn vị kinh doanh vừa và nhỏ ưu tiên lựa chọn hàng đầu. Để thực sự hiểu rõ “Apache là gì?“, bạn nên có nền tảng kiến thức vững vàng về:
Apache web server hoạt động như thế nào?Apache không chỉ đơn thuần là server vật lýKhông chỉ đơn thuần là server vật lý, Apache là một phần mềm chạy trên server, thiết lập kết nối giữa server và các trình duyệt của người dùng, chẳng hạn như Firefox, Google Chrome, Safari,… rồi truyền, trao đổi file cấu trúc 2 chiều dạng client-server. Như vậy xét về cách thức hoạt động, Apache là một phần mềm đa nền tảng, hoạt động tốt với cả server Unix và Windows. Khi khách truy cập một trang web, trình duyệt sẽ gửi yêu cầu tải trang web đó lên server. Sau đó, Apache sẽ trả kết quả với tất cả đầy đủ các file cấu thành nên trang mà khách hàng muốn truy cập bao gồm cả nội dung, hình ảnh, video,… Server và client sẽ giao tiếp với nhau qua giao thức HTTP, khi đó Apache đảm nhận trách nhiệm đảm bảo tiến trình này diễn ra mượt mà và bảo mật một cách tối ưu nhất. Với cách hoạt động như vậy, Apache là một nền tảng module có độ tùy biến rất cao. Nó cho phép quản trị server có cả quyền tắt hoặc thêm chức năng. Đặc biệt, Apache có module cho bảo mật caching, URL rewriting, chứng thực mật khẩu,… Giúp bạn bảo vệ trang web của mình một cách an toàn nhất. Khác biệt giữa NGINX và Apache là gì?Tùy lượng traffic Website chọn web server phù hợpNGINX là gì?
NGINX, hay được giới chuyên môn phát âm là Engine-X, là một ứng dụng web server được phát hành năm 2004. Là một trong những web server đầu tiên, thế nên NGINX ngay lập tức đã được giới lập trình web đón nhận và trở nên phổ biến. Đây là điều bạn nên lưu ý khi sử dụng các dịch vụ cho thuê máy chủ, xem server đó đang sử dụng Apache hay NGINX nhé! Cụ thể, NGINX được tạo để xử lý các vấn đề được gọi là c10k problem (10,000 connections). NGINX là web server sử dụng threads để xử lý truy vấn của khách và lượng kết nối cùng lúc tối đa là 10,000. Ngoài Apache, bạn có thể tìm hiểu thêm về NGINX trong bài “NGINX là gì?“ So sánh giữa NGINX và ApacheSo sánh một chút với Apache ta có thể thấy:
NGINX lại có kiến trúc xử lý dạng “sự kiện” không phải tạo process mới cho mỗi truy vấn. NGINX sẽ xử lý truy vấn trong một thread duy nhất. Master process sẽ quản lý nhiều worker processes mà thực sự quản lý việc xử lý truy vấn. Do đó, việc phân tán truy vấn của NGINX hiệu quả, quản lý tốt nhưng có phần hạn chế về tốc độ. Như vậy, xét về tổng thể, nếu bạn có một website có traffic lớn, NGINX là lựa chọn tối ưu, vì vừa có thể xử lý nhiều tiến trình, vừa tiết kiệm tài nguyên một cách hiệu quả. Tuy nhiên, đối với những doanh nghiệp vừa và nhỏ, không sở hữu traffic lớn, thì Apache lại chiếm ưu thế hơn hẳn. Vì nó không chỉ dễ cấu hình mà có sở hữu nhiều modules hơn, thân thiện hơn, dễ sử dụng hơn. Ưu điểm và nhược điểm của Apache là gì?Apache với những ưu điểm vượt trộiƯu điểm Apache là gì?
Nhược điểm Apache là gì?
Hướng dẫn cài đặt ApacheChỉ cần thực hiện theo những thao tác cực kỳ đơn giản dưới đây, bạn có thể cài đặt Apache một cách dễ dàng. Mắt Bão sẽ hướng dẫn các bạn cách cài đặt Apache trên Windows, Ubuntu và CentOS. Dưới đây là hướng dẫn chi tiết: Cách cài đặt Apache lên Windows
Nếu chỉ sử dụng Apache trên localhost, bạn có thể sử dụng các phần mềm tích hợp sẵn cho việc nghiên cứu như XAMPP, AppServ.
Xem bài viết “Localhost là gì?” để được hướng dẫn cài đặt cụ thể hơn nhé! Cách cài đặt Apache lên UbuntuBạn chỉ việc sử dụng Synaptic Package Manager, Ubuntu Software Center để tìm kiếm và cài đặt gói module apache2. Hoặc dùng Terminal và gõ lệnh sau: sudo apt-get update sudo apt-get install apache2 Sau khi quá trình cài đặt này hoàn tất, các bạn khởi động trình duyệt và gõ địa chỉ http://localhost. Nếu kết quả hiển thị It Works! có nghĩa là chúng ta đã cài đặt Apache thành công. Thiết lập và tùy chỉnh ApacheSau khi cài đặt Apache,ứng dụng sẽ được thêm vào danh sách init.d của hệ thống, do đó có thể tự khởi động cùng với hệ điều hành. Sử dụng những lệnh sau để khởi động, kích hoạt và ngừng hoạt động của Apache: sudo /etc/init.d/apache2 start #start apache sudo /etc/init.d/apache2 stop #stop apache sudo /etc/init.d/apache2 restart #restart apache Nếu không muốn Apache tự khởi động cùng hệ thống, gõ lệnh sau: sudo update-rc.d -f apache2 remove Còn nếu muốn làm ngược lại quá trình trên thì sử dụng lệnh: sudo update-rc.d apache2 defaults Cách thay đổi thư mục localhost Apache trên UbuntuNhưng lưu ý rằng những lệnh trên chỉ áp dụng với các distro dựa trên Debian (bao gồm Ubuntu) mà thôi. Apache sẽ chỉ hoạt động dựa trên thư mục /var/www. Để thay đổi thư mục các file khi truy cập bằng localhost bạn hãy làm theo các thao tác sau.
gksu gedit /etc/apache2/sites-enabled/000-default.conf
Lưu thay đổi của file này, sau đó khởi động lại Apache: sudo /etc/init.d/apache2 restart Mở lại đường dẫn http://localhost trên trình duyệt, bạn sẽ nhìn thấy file html bên trong thư mục public_html: Cài đặt Apache trên CentOSBạn có thể tham khảo 2 bài viết dưới đây của Mắt Bão để được hướng dẫn chi tiết cài đặt Apache lên CentOS:
Apache Tomcat là gì?Apache Tomcat hỗ trợ mạnh cho ứng dụng JavaApache Tomcat là một web server HTTP được phát triển bởi Apache Software Foundation, hỗ trợ mạnh cho ứng dụng Java thay vì website tĩnh. Do đó, nó có thể chạy nhiều bản Java chuyên biệt như Java Servlet, JavaServer Pages (JSP), Java EL, và WebSocket. Bạn hoàn toàn có thể sử dụng Apache Tomcat với nhiều ngôn ngữ lập trình khác như PHP, Python, Perl,… Nhờ sự giúp đỡ của module Apache phù hợp, chẳng hạn mod_php, mod_python, mod_perl,… Hướng dẫn cài đặt Apache TomcatDưới đây, Mắt Bão sẽ hướng dẫn các bạn cách đơn giản nhất để:
Hãy cùng tìm hiểu chi tiết! Cách cài đặt Apache Tomcat trên WindowsCài đặt Apache Tomcat đơn giản và nhanh chóngBiết về Apache TomCat là gì chưa đủ. Để cài đặt thành công Apache Tomcat, ta thực hiện đầy đủ các bước sau đây:
Để hoàn tất việc cấu hình, chúng ta tiến thành tắt Tomcat. Sau đó khởi động lại bằng cách chạy lần lượt hai file: shutdown.bat và startup.bat. Cách cài đặt Apache Tomcat trên máy chủ UbuntuSau đây là hướng dẫn các bạn cài đặt và cấu hình Apache Tomcat trên máy chủ Ubuntu 16.04 LTS, Ubuntu 17.10 và cả phiên bản Ubuntu 18.04 LTS mới nhất. Cài đặt JavaĐầu tiên, kiểm tra đã cài đặt package Java Development Kit (Open JDK) chưa? Nhập command sau: sudo apt list --installed | grep jdkCài đặt Open JDK rồi sẽ xuất kết quả như trên Ở trên máy mình đã cài sẵn 2 phiên bản là Open JDK 8 và 9. Trường hợp chưa có, bạn sử dụng command sau để thực hiện cài đặt Open JDK. sudo apt-get update sudo apt-get install default-jdk Tạo tài khoản cho TomcatVì lý do bảo mật, Tomcat nên được chạy như một người dùng không có đặc quyền (tức là không phải là root). # Tạo group "tomcat" sudo groupadd tomcat # Tạo user "tomcat" sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat Với 2 câu lệnh trên, mình đã tạo 1 user là “tomcat” thuộc group “tomcat” có thư mục home ở /opt/tomcat (Nơi chúng ta thực hiện cài đặt Tomcat). Còn tham số -s /bin/false có nghĩa là đây là 1 dạng user mà không ai có thể login vào được. Cài đặt Apache TomcatCác bạn tải phiên bản mới nhất của Tomcat tại đây: http://tomcat.apache.org/ Để tiến hành cài đặt các bạn thực hiện lần lượt các command sau: # Chuyển tới thư mục tmp cd /tmp # Download Apache Tomcat 9 wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.zip # Giải nén Tomcat 9 và thư mục cài đặt sudo unzip apache-tomcat-9.0.26.zip -d /opt/tomcat Update lại quyền cho thư mục cài đặt Apache Tomcat # Chuyển đến thư mục /opt/tomcat cd /opt/tomcat mv apache-tomcat-9.0.26/* . # Cấp quyền sở hữu thư mục cài đặt cho group "tomcat" sudo chgrp -R tomcat /opt/tomcat sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh' sudo chown tomcat:tomcat -R /opt/tomcat # Cấp quyền đọc và thực thi cho thư mục conf sudo chmod -R g+r conf sudo chmod g+x conf # Cấp quyền sở hữu cho user "tomcat" mkdir -p webapps/work/temp/logs/ sudo chown -R tomcat webapps/work/temp/logs/ Thiết lập chạy TomcatTạo mới file /etc/systemd/system/tomcat.service có nội dung như sau: [Unit] Description=Tomcat 9 servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/default-java" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target Sau đó, thực hiện reload lại Systemd Daemon, để Systemd nhận dạng được dịch vụ bạn vừa tạo. sudo systemctl daemon-reload Khởi động Apache Tomcat sudo systemctl start tomcat Kiểm tra Apache Tomcat đã được bật chưa? sudo systemctl status tomcat Kiểm tra hoạt độngBạn có thể vào giao diện đúng bằng cách nhập tên miền máy chủ hoặc địa chỉ IP của bạn theo cổng 8080 trong trình duyệt của bạn: https://localhost:8080 Hướng dẫn cài đặt Apache Tomcat trên CentOSĐăng nhập rootĐăng nhập vào CentOS 7 VPS của bạn thông qua SSH như người dùng root ssh root @ IP _Address Đảm bảo rằng tất cả các gói đã cài đặt đều được cập nhật yum -y update Cài đặt Java 8Apache Tomcat 9 yêu cầu Java 8 hoặc mới hơn sẽ được cài đặt trên máy chủ. Các gói Java 8 có sẵn trong kho lưu trữ CentOS 7 mặc định. Chạy lệnh sau để cài đặt Java 8 yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 Điều này sẽ cài đặt Java 8 và tất cả các phụ thuộc của nó. Sau khi cài đặt hoàn tất, bạn có thể kiểm tra phiên bản đã cài đặt bằng cách sử dụng lệnh sau java -version Bạn sẽ nhận được kết quả sau: openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode) Cài đặt Tomcat 9Truy cập trang web chính thức của Apache Tomcat và tải xuống phiên bản phần mềm mới nhất cho máy chủ của bạn. wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.zip Trong trường hợp đừng dẫn trên ngưng hoạt động, bạn dùng trình duyệt vào http://ftp.wayne.edu/apache/tomcat/ tìm bản mới nhất của TomCat. Giải nén tệp nén zip đã tải xuống unzip apache-tomcat-9.0.26.zip -d /opt Lưu ý kiểm tra tên file nếu bạn tải bản mới nhất. Điều này sẽ tạo một thư mục mới có tên ‘apache-tomcat-9.0.26.zip’. cd /opt mv apache-tomcat-9.0.26/ tomcat Chạy các lệnh sau để đặt biến môi trường CATALINA_HOME echo "export CATALINA_HOME='/opt/tomcat/'" >> ~/.bashrc source ~/.bashrc Không nên chạy Apache Tomcat trên tài khoản root, hãy tạo một người dùng hệ thống mới để chạy máy chủ Tomcat useradd -r tomcat --shell /bin/false Phân quyền cho thư mục script. sh -c 'chmod +x /opt/tomcat/bin/*.sh' Thay đổi quyền sở hữu của tất cả các tệp Tomcat chown -R tomcat:tomcat /opt/tomcat/ Tạo tệp systemd với nội dung sau vi /etc/systemd/system/tomcat.service [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target Lưu tệp và chạy lệnh sau để tải lại cấu hình trình quản lý systemd systemctl daemon-reload Cấu hình Tomcat 9Bây giờ bạn có thể khởi động máy chủ Apache Tomcat 9 và cho phép nó khởi động systemctl start tomcat systemctl enable tomcat Bạn có thể kiểm tra trạng thái của máy chủ Tomcat 9 và xác nhận rằng nó được cài đặt đúng bằng cách thực hiện lệnh sau systemctl status tomcat Đầu ra: tomcat.service - Apache Tomcat 9 Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (exited) since Wed 2018-04-11 05:59:13 CDT; 2min 31s ago Process: 1091 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 1091 (code=exited, status=0/SUCCESS) CGroup: /system.slice/tomcat.service └─1106 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 Bây giờ bạn có thể truy cập máy chủ Tomcat trong trình duyệt web ưa thích của bạn. Apache Tomcat theo mặc định là listen port 8080, vì vậy mở trình duyệt và điều hướng đến http://IP_address:8080 và bạn sẽ thấy trang chủ của Apache Tomcat. Tạo tài khoản người dùng Tomcat 9Bạn có thể tạo một người dùng Tomcat mới để có thể access người quản lý Tomcat. Mở tệp tomcat-users.xml và thêm các dòng sau: vi /opt/tomcat/conf/tomcat-users.xml Đừng quên thay thế PASSWORD bằng mật khẩu mạnh thực sự. Theo mặc định, Tomcat Manager chỉ có thể truy cập từ một trình duyệt đang chạy trên cùng một máy với Tomcat. Nếu bạn muốn loại bỏ hạn chế này, bạn sẽ cần phải chỉnh sửa tệp context.xml của Trình quản lý và nhận xét hoặc xóa dòng sau: vi /opt/tomcat/webapps/manager/META-INF/context.xml Khởi động lại máy chủ Apache Tomcat để các thay đổi có hiệu lực. systemctl restart tomcat Bây giờ, bạn sẽ có thể truy cập Trình quản lý Tomcat của Apache bằng cách nhấp vào nút ‘Manager App’ trên trang chủ hoặc trực tiếp tại http://IP_address:8080/manager/html sử dụng ‘admin’ và mật khẩu ‘PASSWORD’ của người dùng Hy vọng với những chia sẻ cực kỳ hữu ích trên, bạn đã hiểu hơn về Apache là gì. Chúc bạn thành công trong việc cài đặt cũng như ứng dụng Apache đạt hiệu quả tốt nhất. |