安装配置PBootCMS详细过程
1.下载
PBootCMSgithub下载最新版本的源代码到服务器
- 进入服务器存放项目的目录(目录可以随意,nginx指定root的对应目录就是这个)
cd /home/www/ git clone git@github.com:hnaoyun/PbootCMS.git
2.配置
配置阿里云(或其他)域名解析
这里我的站点域名为www.monty.site
配置nginx
lnmp环境搭建这里不做赘述,如有需要,请参考我的博客有一系列的文章,nginx的配置默认已经支持PHP开发,这里只对该站点文件做配置:
- nginx.conf配置文件内容
user nginx; worker_processes 5; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; 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; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
- pbootcms站点nginx配置文件内容
pbootcms的站点配置文件名为pbootcms.conf,需要手动创建,cd /etc/nginx/conf.d/ //根据自己安装的nginx所在位置 touch pbootcms.conf vim pbootcms.conf
注意需要修改的内容:server { listen 80; server_name www.monty.site; access_log logs/pbootcms.access.log; error_log logs/pbootcms.error.log; index index.html index.htm index.php; root /home/www/pbootcms; #include /usr/local/nginx/conf/rewrite/none.conf; #error_page 404 /404.html; #error_page 502 /502.html; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; #rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~ [^/]\.php(/|$) { fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include /etc/nginx/fastcgi.conf; fastcgi_split_path_info ^(.+?\.php)(/.*)$; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_param CI_ENV 'development'; try_files $fastcgi_script_name =404; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } location ~ /\.ht { deny all; } }
- 注意:重启nginx时可能会遇见/etc/nginx/fastcgi.conf文件找不到的报错,导致nginx重启不成功,那么需要在/etc/nginx/目录下增加fastcgi.conf文件,操作如下:
在fastcgi.conf文件中添加如下内容:cd /etc/nginx/ touch fastcgi.conf vim fastcgi.conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
配置项目数据库、授权码等
-
设置mysql数据库
cd /home/www/ mv PBootCMS pbootcms //给项目改名,不是不要操作 cd pbootcms vim config/database.php //修改数据库类型(type)、用户名(user)、密码(passwd)、数据库名称(dbname) //修改完成后:wq保存并退出
-
创建pbootcms数据库并导入初始数据
//进入mysql命令行创建数据库 mysql -u root -p //输入密码 create database pbootcms default character set=utf8; //选择数据库 use pbootcms; //导入初始数据 source /home/www/pbootcms/static/backup/sql/e7e69f59e55c6ed4bfb589d3e45da7a5_20190805115451_pbootcms.sql
-
设置授权码(无授权码线上无法访问网站)
去PBootCMS官网对已经解析的域名(该域名作为PBootCMS访问站域名)获取授权码,传送门获取到授权码之后,将其放到项目的配置文件中,如下操作:
cd /home/www/pbootcms vim config/config.php //修改键sn对应的值为PBootCMS获取到的真实授权码,修改完成后:wq保存并退出。
-
设置项目缓存目录及权限
如果nginx用户对项目没有创建目录的权限,则需要手动在项目根目录创建runtime目录并赋予读写执行权限,操作如下:cd /home/www/pbootcms mkdir runtime chmod -R 777 runtime
3.测试
-
测试nginx配置是否成功
nginx -t
如果提示错误:
nginx: [emerg] open() "/etc/nginx/logs/pbootcms.access.log" failed (2: No such file or directory)
则需要在/etc/nginx/logs/创建pbootcms.access.log或pbootcms.error.log文件:
cd /etc/nginx mkdir logs //如果logs目录不存在,则创建,存在则进入logs目录并创建以下两个文件 touch /etc/nginx/logs/pbootcms.access.log touch /etc/nginx/logs/pbootcms.error.log
再次测试nginx配置,出现如下画面,则说明配置没有问题,可进行nginx重启:
-
重启nginx
systemctl restart nginx //没有(失败)提示则说明重启成功
-
查看nginx状态
systemctl status nginx //出现如下画面则说明重启成功,可访问站点
-
访问pbootcms站点
出现如下画面,成功了!