1 商品類目選擇
1.1Service層
easyUi的異步tree控件
樹控件讀取URL。子節(jié)點的加載依賴于父節(jié)點的狀態(tài)。當展開一個封閉的節(jié)點,如果節(jié)點沒有加載子節(jié)點,它將會把節(jié)點id的值作為http請求參數(shù)并命名為'id',通過URL發(fā)送到服務(wù)器上面檢索子節(jié)點。
找Bug小技巧之file search
2.2 Controller層
功能:接收頁面請求的參數(shù),名為 id。調(diào)用service查詢分類列表,返回json格式的數(shù)據(jù)(列表)。需要使用@ResponseBody注解。
2 上傳圖片
2.1 圖片保存的位置
2.1.1 集群環(huán)境
在集群環(huán)境中,用戶上傳圖片到一臺tomcat,再次訪問圖片時連接到的是另外一臺tomcat,此時訪問不到圖片。
這種情況,會出現(xiàn)用戶有時刷新頁面能看到圖片,有時又看不到圖片。
解決的辦法:將圖片放在一臺專門的服務(wù)器上。
2.1.2 nginx安裝
2.1.2.1 nginx安裝環(huán)境
gcc
安裝nginx需要先將官網(wǎng)下載的源碼進行編譯,編譯依賴gcc環(huán)境,如果沒有g(shù)cc環(huán)境,需要安裝gcc:
yum install gcc-c++
PCRE
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre開發(fā)的一個二次開發(fā)庫。nginx也需要此庫。
zlib
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內(nèi)容進行g(shù)zip,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
openssl
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用。
nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http),所以需要在linux安裝openssl庫。
yum install -y openssl openssl-devel
2.1.2.2 編譯安裝
將nginx-1.8.0.tar.gz拷貝至linux服務(wù)器。
解壓:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
1、configure
./configure --help查詢詳細參數(shù)(參考本教程附錄部分:nginx編譯參數(shù))
參數(shù)設(shè)置如下:
---直接全部復制運行
./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
注意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
2、編譯安裝
make
make install
安裝成功查看安裝目錄 :
3、啟動nginx
cd /usr/local/nginx/sbin/
./nginx
查詢nginx進程:
15098是nginx主進程的進程id,15099是nginx工作進程的進程id
注意:執(zhí)行./nginx啟動nginx,這里可以-c指定加載的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在啟動時默認加載conf/nginx.conf文件,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(shù)(--conf-path= 指向配置文件(nginx.conf))
4、停止nginx
方式1 快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相當于先查出nginx進程id再使用kill命令強制殺掉進程。
方式2 完整停止(建議使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步驟是待nginx進程處理任務(wù)完畢進行停止。
2.1.3 可能存在的問題
./nginx無法運行
出現(xiàn)這個錯誤只需root下手動創(chuàng)建目錄即可。
如圖所示
真機無法訪問nginxx服務(wù)
一般是防火墻引起的
在CentOS/RHEL 6上開啟端口:
在CentOS/RHEL 6甚至更早版本系統(tǒng)上,iptables服務(wù)負責維護防火墻規(guī)則。
使用iptables的第一條命令可以通過防火墻開啟一個新TCP/UDP端口。為了永久保存修改過的規(guī)則。
$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo service iptables save
$ sudo service iptables restart
在CentOS/RHEL 7上開啟端口
啟動CentOS/RHEL 7后,防火墻規(guī)則設(shè)置由firewalld服務(wù)進程默認管理。一個叫做firewall-cmd的命令行客戶端支持和這個守護進程通信以永久修改防火墻規(guī)則。
使用這些命令來永久打開一個新端口(如TCP/80)。
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload
ftp服務(wù)
ftp服務(wù)安裝部署成功及測試
http://blog.csdn.net/likunwen_001/article/details/49847677
https://zhidao.baidu.com/question/334450562.html
不能上傳圖片至自己生成的文件夾,只能上傳至根目錄
http://blog.csdn.net/liquantong/article/details/74080095
ftp服務(wù)器上的文件夾所有者一定要是ftpuser,否則無法上傳。
文件上傳,這里需要使用到commons jar包下的FtpClient:
public void testFtpClient() throws Exception {
// 創(chuàng)建一個FtpClient對象
FTPClient ftpClient = new FTPClient();
// 創(chuàng)建ftp連接,默認端口是21
ftpClient.connect("192.168.76.132", 21);
// 登錄ftp服務(wù)器,使用用戶名和密碼
ftpClient.login("ftpuser", "hyh43219966");
// 上傳文件
// 讀取本地文件
FileInputStream fileInputStream = new FileInputStream(
new File("E:\\Documents\\pictures\\shanzhi.png"));
// 設(shè)置上傳的路徑
ftpClient.changeWorkingDirectory("/home/ftpuser/www/images");
// 修改上傳文件的格式 (二進制格式)
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 第一個參數(shù):服務(wù)器端文檔名
// 第二個參數(shù):上傳文檔的 inputStream
ftpClient.storeFile("hello.png", fileInputStream);
// 關(guān)閉連接
ftpClient.logout();
}
最后總結(jié)
nginx配置完成最后一定要記得配置圖片服務(wù)器的根目錄
配置圖片服務(wù)器
在nginx的默認配置文件nginx.config的server{}中l(wèi)ocation /{} 修改配置 80端口號:
#默認請求
location / {
root /home/ftpuser/www;#定義服務(wù)器的默認網(wǎng)站根目錄位置
index index.html index.php index.htm;#定義首頁索引文件的名稱
}
其中:/home/ftpuser/www;為創(chuàng)建FTP服務(wù)賬戶ftpuser的根目錄下的www目錄
引發(fā)403 Forbidden的原因
1、在根目錄下沒有index索引文件
2、文件夾與文件的權(quán)限不夠,最好文件夾全部設(shè)成755,文件全部644
http://blog.csdn.net/lanjianhun/article/details/26836343
完整的nginx+ftp部署
http://blog.csdn.net/u012401711/article/details/53525908