因为接触linux是从ubuntu开始的,所以,自己建站的时候服务器系统选择了ubuntu。因为版本问题,很多网上的资料不太统一。终于找到了一篇不错的开始整理。


1.安装MysqL


sudo apt-get -y install MysqL-server


安装过程需要设置数据库密码。数据库用户名root,密码自己设定


2.安装Nginx


不用apache是因为听说Nginx的并发比较好,而且我后台用的phalapi推荐使用Nginx
但是需要配置一下才能和PHP协调工作
这个系统安装Nginx版本为1.10 如果想自行升级请参照Nginx官网提示。


apt-get -y install Nginx


执行完之后,输入你的地址就会看到欢迎页面,也就证明安装成功了。如果没有,请查找原因


3.安装PHP7
apt-get -y install PHP7.0-fpm


4.配置Nginx


打开配置文件 /etc/Nginx/Nginx.conf:


vi /etc/Nginx/Nginx.conf

配置参数自己决定,这个我用的默认配置。 下面配置PHP vi /etc/Nginx/sites-available/default [...] server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.PHP to the list if you are using PHP index index.html index.htm index.Nginx-debian.html; server_name _; location / { # First attempt to serve request as file,then # as directory,then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.PHP$ { include snippets/fastcgi-PHP.conf; # With PHP7.0-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With PHP7.0-fpm: fastcgi_pass unix:/run/PHP/PHP7.0-fpm.sock; } # deny access to .htaccess files,if Apache's document root # concurs with Nginx's one # location ~ /\.ht { deny all; } } [...] server_name _; 使这是一个默认捕捉所有虚拟主机(当然,你可以同时喜欢这里www.example.com指定主机名)。 根目录 /var/www/html;意味着文档根目录/var/www/html. PHP的重要组成部分位置 ~ \.PHP$ {} stanza. 取消注释它来启用它。 现在保存文件并重新加载Nginx: service Nginx reload 下一步打开 /etc/PHP/7.0/fpm/PHP.ini… vi /etc/PHP/7.0/fpm/PHP.ini 设置 cgi.fix_pathinfo=0: [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; prevIoUs behavIoUr was to set PATH_TRANSLATED to SCRIPT_FILENAME,and to not grok ; what PATH_INFO is. For more information on PATH_INFO,see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://PHP.net/cgi.fix-pathinfo cgi.fix_pathinfo=0 [...] 重新加载 PHP-FPM: service PHP7.0-fpm reload 建立探针文件/var/www/html: vi /var/www/html/info.PHP <?PHP PHPinfo(); ?> 如果配置成功,访问info.PHP会在浏览器输出PHP信息的。 5.让MysqL和PHP进行连接 先搜索一下PHP支持的模块: apt-cache search PHP7.0 使用下面的命令安装: apt-get -y install PHP7.0-MysqL PHP7.0-curl PHP7.0-gd PHP7.0-intl PHP-pear PHP-imagick PHP7.0-imap PHP7.0-mcrypt PHP-memcache PHP7.0-pspell PHP7.0-recode PHP7.0-sqlite3 PHP7.0-tidy PHP7.0-xmlrpc PHP7.0-xsl PHP7.0-mbstring PHP-gettext APCu是随PHP7 PHP Opcache模块的扩展,它增加了一些兼容性功能的支持APC缓存(例如wordpress的插件缓存)软件。 APCu可以安装如下: apt-get -y install PHP-apcu 重新加载 PHP-FPM: service PHP7.0-fpm reload 6.让 PHP-FPM 使用 TCP 连接 默认情况下PHP-FPM监听 /var/run/PHP/PHP7.0-fpm.sock. 另外,也可以使 PHP-FPM 试用 TCP 连接,打开文件 /etc/PHP/7.0/fpm/pool.d/www.conf… vi /etc/PHP/7.0/fpm/pool.d/www.conf 修改如下: [...] ;listen = /var/run/PHP5-fpm.sock listen = 127.0.0.1:9000 [...] 这将使PHP-FPM端口9000侦听的IP127.0.0.1(本地主机)。请确保您使用的端口,是不是在你的系统上使用。 然后重新加载 PHP-FPM: service PHP7.0-fpm reload 接下来通过你的Nginx的配置和所有的虚拟主机,并更改fastcgi_pass UNIX行:/var/run/PHP/PHP7.0-fpm.sock; tofastcgi_pass127.0.0.1:9000;,如下: vi /etc/Nginx/sites-available/default [...] location ~ \.PHP$ { include snippets/fastcgi-PHP.conf; # With PHP7.0-cgi alone: fastcgi_pass 127.0.0.1:9000; # With PHP7.0-fpm: # fastcgi_pass unix:/run/PHP/PHP7.0-fpm.sock; } [...] 最后,重新加载Nginx: service Nginx reload OK,Nginx的LEMP服务器安装完毕。

Ubuntu 16.04 LTS 安装 Nginx/PHP 7/MySQL的更多相关文章

  1. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  2. xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

    解决方法这是一个已修复的knownbug.目前唯一已知的解决方法是使用较旧版本的FacebookSDK.

  3. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  4. ios – 如何在Xcode 4.5中完成代码签名

    解决方法事实证明,从AppStore升级XCode并不会自动升级所有内容.转到首选项/下载,并确保安装最新的命令行工具.

  5. xcode7 – 谁在创建文件“/private/var/tmp/Untitled-*.uicatalog”?

    我正在调查为什么TeamCity构建代理程序用完了磁盘,并且在/private/var/tmp中找到了超过11,000个文件,它们都以Untitled-.uicatalog行命名.每个文件至少0.6MB.总磁盘占用空间约为4GB.这些文件可以追溯到几个月,所以他们能够重新启动.谁在创造他们?Xcode在编译至少有一个图像的xcassets目录时创建这些目录.我可以删除它们吗?

  6. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  7. ios – Client.ipa不包含文件

    从过去的几天开始,我就把这头发错了.当我尝试提交基于cordova的iOS应用程序时,我收到一个错误,即符号工具失败.这就是我在日志中的内容:以下是尝试提交到应用商店时所述错误的屏幕截图:请帮忙.解决方法我有同样的错误,因为应用程序包中错误地包含了几个静态库(libXXX.a).它们显示在主.App下的最终上传确认框(列出权利和证书)中.我的解决方案是从项目中删除对这些静态库的所有引用,在链接器标

  8. ios – 如何获得.ipa文件路径

    我的应用程序包含敏感数据,所以我想为.ipa文件生成哈希键,是否可以这样做?

  9. ios – 在设备上运行时Swift应用程序崩溃 – dyld:未加载库:@ rpath / libswiftCore.dylib

    我是ios/xcode世界的新手,并尝试在运行iOSv8.0.2的iphone5上测试一个简单的Swift应用程序.该应用程序在xcode(版本6.1(6A1052d))中成功构建,但当它尝试在iphone上运行时,它崩溃并出现以下错误:我已经尝试过大多数建议,这些建议帮助了遇到此错误的其他人,但却没有运气.使用其他团队成员的构建环境构建时,相同的应用程序工作正常.我比较了构建设置,发现它们是相同

  10. 使用Swift作为Glance后端存储

    原文链接http://thornelabs.net/2014/08/03/use-openstack-swift-as-a-backend-store-for-glance.htmlBydefault,OpenStackGlancesavesimagesandOpenStackInstancesnapshotsonthelocalfilesystemin/var/lib/glance/images

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部