1局劲、介紹及環(huán)境需求
1、介紹:PSI是一款基于SaaS模式(Software as a Service軟件即服務(wù))的企業(yè)管理軟件奶赠。PSI以商貿(mào)企業(yè)的核心業(yè)務(wù):采購鱼填、銷售、庫存(進(jìn)銷存)為切入點(diǎn)毅戈,最終目標(biāo)是行業(yè)化的ERP解決方案苹丸。
2愤惰、PSI支持多種安裝方式可以在windows或者linux上進(jìn)行安裝,本文只介紹在centos7下的安裝(因?yàn)楝F(xiàn)實(shí)情況不可能一臺服務(wù)器只跑一個網(wǎng)站赘理,而且后期管理也很繁瑣)宦言。其它平臺及環(huán)境(包括一鍵安裝包請查看其在碼云上托管文檔https://gitee.com/crm8000/PSI/tree/master/doc/04 安裝)
3、基本軟件:
操作系統(tǒng):centos7系列
PHP版本:7+
數(shù)據(jù)庫:MySQL5.5+及MariaDB
Nginx:系統(tǒng)自帶版本即可
2商模、關(guān)于Nginx和PHP安裝
1奠旺、安裝Nginx:
請先安裝擴(kuò)展源:yum -y install epel-*
yum -y install nginx
安裝完成,由于是yum安裝施流,安裝文件及配置文件在/etc/nginx目錄下
useradd www -d /data/www/ -m
初始化nginx配置文件
cd /etc/nginx
cp nginx.conf.default? ? nginx.conf
編輯nginx.conf
需修改內(nèi)容已加粗
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format? main? '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log? /var/log/nginx/access.log? main;
sendfile? ? ? ? ? ? on;
tcp_nopush? ? ? ? ? on;
tcp_nodelay? ? ? ? on;
keepalive_timeout? 65;
types_hash_max_size 2048;
include? ? ? ? ? ? /etc/nginx/mime.types;
default_type? ? ? ? application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen? ? ? 80 default_server;
listen? ? ? [::]:80 default_server;
server_name localhost;? ? ? //修改服務(wù)的主機(jī)名
root /data/www;? ? ? //更改服務(wù)讀取目錄
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
在conf.d目錄下vim新建虛擬主機(jī)配置文件
server
? ? {
? ? ? ? listen 8001;
? ? ? ? server_name crm;
? ? ? ? index index.php index.html index.htm;
? ? ? ? root? /data/www/psi;
? ? ? ? client_body_buffer_size 1m;
? ? ? ? client_body_temp_path /data/tmp/nginx;
? ? ? ? client_max_body_size 10m;
? ? ? ? location ~ /\.
? ? ? ? {
? ? ? ? ? ? deny all;
? ? ? ? }
? ? ? ? location / {
? ? ? ? if (!-e $request_filename){
? ? ? ? ? ? ? rewrite ^/web/(.*)$ /web/index.php/$1 last;? #--關(guān)鍵的配置响疚,支持ThinkPHP的rewrite支持
? ? ? ? }
? ? ? ? }
? ? ? ? location ~ .*\.php {? #--經(jīng)測試,必須以去除?$結(jié)尾瞪醋,去掉$是為了不匹配行末忿晕,即可以匹配.php/,以實(shí)現(xiàn)pathinfo
? ? ? ? ? ? ? ? fastcgi_pass? 127.0.0.1:9000;
? ? ? ? ? ? ? ? fastcgi_index index.php;
? ? ? ? ? ? ? ? include fastcgi.conf;
? ? ? ? ? ? ? ? include pathinfo.conf;? #--關(guān)鍵的配置银受,支持ThinkPHP的pathinfo支持
? ? ? ? }
? ? ? access_log test.psi.com_access.log main;
? ? ? error_log test.psi.com_error.log;
}
上部分內(nèi)容使用include引入了pathinfo.conf杏糙,所以我們需要在nginx主目錄vim新建這個文件
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
2、安裝php 7.2.12
前往PHP官網(wǎng)(http://php.net/get/php-7.2.12.tar.gz/from/a/mirror)點(diǎn)擊下圖圈中內(nèi)容進(jìn)行下載
上傳到服務(wù)器相關(guān)位置并解壓
tar xf?php-7.2.12.tar.gz
cd?php-7.2.12
yum 安裝相關(guān)依賴
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gmp gmplib gmp-devel libmcrypt libmcrypt-devel readline readline-devel
其中會有幾個提示找不到相關(guān)資源蚓土,請自行百度查找并進(jìn)行安裝宏侍,可以進(jìn)行編譯安裝。
./configure --prefix=/usr/local/php7 --enable-fpm --enable-soap --with-xmlrpc --with-openssl --with-mcrypt --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --with-libxml-dir
make && make install
find . -name "php.ini*"
cp php.ini-production /usr/local/php7/lib/php.ini
find . -name "php-fpm*"
cp ./sapi/fpm/php-fpm.service /etc/systemd/system/
cd /usr/local/php7/etc/php-fpm.d/
cp www.conf.default www.conf
systemctl start php-fpm
systemctl enable php-fpm
3蜀漆、部署PSI
前往碼云下載(需注冊或者登陸才可以下載)
上傳并解壓谅河,拷貝到?/data/www/psi
平滑重啟nginx:systemctl reload nginx
4、導(dǎo)入數(shù)據(jù)庫
進(jìn)入如下目錄
-創(chuàng)建數(shù)據(jù)庫 創(chuàng)建庫名為psi确丢,字符集為utf8的庫绷耍,授權(quán)psier用戶來登錄,密碼為abcd.1234
mysql -u root -p
create?database?psi?character?set?utf8;
grant?all?on?psi.*?to?'psier'@'localhost'?identified?by?'abcd.1234';
exit
導(dǎo)入初始化數(shù)據(jù)庫數(shù)據(jù)
導(dǎo)入表結(jié)構(gòu):mysql?-upsier?-h127.0.0.1?-pabcd.1234?psi?<?01CreateTables.sql?
導(dǎo)入初始化數(shù)據(jù):mysql?-upsier?-h127.0.0.1?-pabcd.1234?psi?<?02InsertInitData.sql?
導(dǎo)入測試數(shù)據(jù)(這一步可選鲜侥,我沒有導(dǎo)入):mysql?-upsier?-h127.0.0.1?-pabcd.1234?psi?<?99psi_demo_data.sql?
修改配置文件的數(shù)據(jù)庫連接
vim /data/www/psi/web/Application/Common/Conf/config.php
systemctl reload nginx
之后使用ip+端口的方式進(jìn)行訪問褂始,默認(rèn)用戶名密碼都是admin
使用方式請參照下圖