1. 程式人生 > >Apache Tomcat Nginx

Apache Tomcat Nginx

-a work int 隱藏版本號 cto page live str 申請


--------------------------------------------------------------------------------
Apache
httpd
enable/start httpd
firewall-cmd --permanent --zone=public --add-service=http / https
reload
service httpd status
systemctl status httpd
httpd -v
IP測試
--------------------------------------------------------------------------------


負載均衡+反向代理基礎搭建

#Tomcat 配置JAVA環境使用
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_152
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

tar -C /usr/local/tomcat
vi /usr/local/tomcat/conf/server.xml

/usr/local/tomcat/bin/startup.sh


/usr/local/tomcat/bin/shutdown.sh

Tomcat #建jsp並訪問測試
mkdir -pv /web/webapp
cat <<END >/web/webapp/index.jsp
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("<h1>welcome to Jsp</h1>");%>
</body>


</html>
END

vi /usr/local/tomcat/conf/server.xml
<Context docBase="/web/webapp" path="" reloadable="false">
</Context>

#tomcat設置啟動
# --------------------------------------------------
vi /lib/systemd/system/tomcat.service

[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=‘JAVA_HOME=/home/jdk‘
Environment=‘CATALINA_PID=/usr/local/tomcat/bin/tomcat.pid‘
Environment=‘CATALINA_HOME=/usr/local/tomcat/‘
Environment=‘CATALINA_BASE=/usr/local/tomcat/‘
Environment=‘CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC‘
WorkingDirectory=/usr/local/tomcat/
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

vi /usr/local/tomcat/bin/catalina.sh
export JAVA_HOME=/home/jdk
export JRE_HOME=/home/jdk
---------------------

#Nginx編譯安裝使用
#編譯一
./configure
make&&make install
vi /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s

#編譯二
mkdir -p /var/temp/nginx
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

vi /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx

#編譯三
groupadd www
useradd -g www www -s /bin/false
./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module
make&&make install

/usr/local/nginx/sbin/nginx
vi /usr/local/nginx/conf/nginx.conf

upstream tomcat_server {
server 192.168.140.158:8080 weight=1;
server 192.168.140.159:8080 weight=2;
}

location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host;
}

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nginx設置啟動
vi /lib/systemd/system/nginx.service
# --------------------------------------------------
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
# --------------------------------------------------


#Nginx 應用優化
#隱藏版本號
curl dd/IP #訪問網頁
curl -i dd/IP #查看nginx版本
vi /usr/local/nginx/conf/nginx.conf
http內添加:
server_tokens off;

#網頁緩存
cat <<END >/usr/local/nginx/html/index.html
<html>
<head>
<title>windows</title>
</head>
<body>
windows7
<img src="./win7.jpg"/> #./指的是/usr/local/nginx/html/
</body>
</html>
END
#緩存圖片類型及期限
vi /usr/local/nginx/conf/nginx.conf
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
expires 1d;
}
location ~ .*\.(js|css)$ {
expires 1h;
}
#連接超時
vi /usr/local/nginx/conf/nginx.conf
keepalive_timeout 65;
client_header_timeout 60;
client_body_timeout 60;
#網頁壓縮傳輸
vi /usr/local/nginx/conf/nginx.conf
gzip on; ##開啟gzip壓縮輸出
gzip_min_length 1k; ##用於設置允許壓縮的頁面最小字節數
gzip_buffers 4 16k; ##表示申請 4 個單位為 16k 的內存作為壓縮結果流緩存
gzip_http_version 1.1; ##設置識別 http 協議版本,默認是 1.1
gzip_comp_level 2; ##gzip 壓縮比, 1-9 等級
gzip_types text/plain text/javascript application/x-javascript text/css text/xml
application/xml application/xml+rss; ##壓縮類型,是就對哪些網頁文檔啟用壓縮功能
#訪問控制
htpasswd -c /usr/local/nginx/conf/user.conf dd
vi /usr/local/nginx/conf/nginx.conf
location ~ \. {
auth_basic "GIVE ME GIVE ME";
auth_basic_user_file /usr/local/nginx/conf/user.conf;
allow 192.168.1.0/24;
deny 192.168.140.110;
}

#定義錯誤頁面
echo "deny" >>/usr/local/nginx/html/404.html
vi /usr/local/nginx/conf/nginx.conf
error_page 403 404 500 502 503 504 /404.html;
location = /404.html {
root html;
}

#FTP類頁面
location /download {
autoindex on;
}


在Tomcat上線項目;
項目項目數據到mysql
mysql -uroot -pxxx < xxx.sql
show databases;
use xxx;
show tables;
grant all on xxx.* to ‘賬戶‘@‘IP‘ identified by ‘密碼‘;
flush privileges;
exit quit
cp 項目根文件 /usr/local/tomcat/webapps
vi 項目根文件/WEB-INF/x.properties

Apache Tomcat Nginx