个人感觉ubuntu更加好用,centos不合自己口味。
1、安装nginx : sudo apt-get install nginx
查看版本 :nginx -v
查看安装信息:dpkg -S nginx
安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。
此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。
启动 Nginx服务,使用下面两个命令任意一个即可:
sudo /etc/init.d/nginx start
sudo service nginx start2、安装php7
如果是安装7.0,只需要apt-get install 即可,如果是7.1就需要更新PPA软件源:
sudo apt-add-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get install php7.1 php7.1-fpm
3、打通nginxyu php-fpm
修改 /etc/nginx/sites-available/default 文件,然后取消关于php的注释部分,并且将fpm的路径修改为7.1的即可
重启一下nginx服务。可以写测试的php文件了。
4、安装php扩展:
sudo apt-get install php7.1-gd php7.1-curl php7.1-mysql
5、安装mysql5.7
sudo apt-get install mysql-server mysql-client
设置root密码,系统自动完成剩下部分。
--- netstat -anp 可以查看当前系统监听的端口。
6、nginx下的php路径漏洞,伪造路径,比如http://xxx/a.jpg/b.php,就可以执行,http://www.laruence.com/2010/05/20/1495.html 其实开启了rewrite的设置后这个可以不怎么在意,不过最好修改好。
vim /etc/php/7.1/fpm/php.ini
去掉cgi.fix_pathinfo=1之前的注释,并修改值为0.
7、开启加密模块:
sudo phpenmod mcrypt ;看情况自己决定,
重启服务service php7.1-fpm restart
8、DNS解析域名,并新建虚拟主机
nginx默认的主机配置文件:/etc/nginx/sites-available/default
新建虚拟主机配置文件,在/etc/nginx/conf.d/目录下添加x.conf文件即可。
配置默认的http网站,配置文件如下:
server { listen 80; server_name www.ex.com; location / { root /var/www/ex.com; index index.php index.html index.htm; } location ~ \.php$ { root /var/www/ex.com; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存后,在 /var/www/ 下mkdir ex.com,并且写入PHP的测试文件,如果解析正常说明成功了。
9、启用SSL,这个非常简单,在certbot官网直接照着做就行了。 https://certbot.eff.org/lets-encrypt/ubuntutzesty-nginx
安装certbot:
$ sudo apt-get update$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:certbot/certbot$ sudo apt-get update$ sudo apt-get install python-certbot-nginx
设置:
$ sudo certbot --nginx
功能非常简单,提示信息第一项是email,之后选择需要启用ssl的域名,是否强制重定向HTTP到https ,最后出现验证连接:https://www.ssllabs.com/ssltest/analyze.html?d=www.ex.com
LE证书存在过期问题,可以自行维护更新。
$ sudo certbot renew --dry-run
模拟运行成功的提示出现后,可以设置定时任务来维护自动维护任务:
sudo crontab -e
可能会出现选择编辑器的选项,nano即可。
然后在定时任务里面添加一行:
30 3 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
意思是凌晨3:30检查维护,这个时候一般都是访客最少的时候。
可以自己先测试一下命令,然后cat一下日志验证一下。
OK。配置完毕!
10、安装phpmyadmin
sudo apt-get install phpmyadmin php7.1-mbstring php-gettext
第一步要求选择apache或者Lighttpd,随便选了,nginx反正是。
输入密码。
然后建立到默认站点,即IP指向的站点的 软连接:
sudo ln -s /usr/share/phpmyadmin /var/www/html/your_pma_name 建议这里设置的复杂一些。
如果嫌放在IP底下不安全,可以放在指定站点的下面,软连接指向修改即可。
然后,就可以图形化管理mysql了!