亲手创建一台Ubuntu+PHP5+MySQL5+Nginx+openSSL+sshFtp(sftp)的微信小程序云服务器

亲手创建一台Ubuntu+PHP5+MySQL5+Nginx+openSSL+sshFtp的微信小程序云服务器

小程序要求Request必须SSL连接,一般虚拟主机不支持SSL,自己有云服务器最佳。

系统可以选Ubuntu14 64位
//更新apt-get

sudo  apt-get update

//安装nginx

sudo apt-get install nginx

//选择Y安装
//安装PHP5-fpm

sudo apt-get install php5-fpm

//安装MySQL5

sudo apt-get install mysql-server mysql-client

//过程中输入两次root的密码。
//安装php的各种模块支持

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

//直接Y,全安装
//设置 php.ini

sudo vi /etc/php5/fpm/php.ini

//使用VI,按i进入insert插入模式。
//找到 #cgi.fix_pathinfo=1
//改成 cgi.fix_pathinfo=0
//记得去掉前面的注释。
//按大写的Q,输入w保存,输入q退出。
//接下来修改nginx配置。直接添加一个配置即可。

sudo vi /etc/nginx/conf.d/my.conf

//生成一个 xxxx.conf ,无所谓文件名,扩展名是conf就会被引用。
//输入下面的内容:

server {
    listen 80;
    listen 443 ssl;
    root /我的www目录;
    ssl on;
    ssl_certificate /etc/ssl/private/1_api.我的域名.com_bundle.crt;
    ssl_certificate_key /etc/ssl/private/2_api.我的域名.com.key;

    index index.php index.html;
    server_name api.我的域名.com;
    error_log /var/log/nginx/error.log;
    location ~ \.php$ {
            #fastcgi_pass 127.0.0.1:9000;
            # With php5-fpm:
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }
}

//里面中文的部分自己修改成自己的,暂时没有证书文件,别急,等下告诉你怎么弄。
//PHP基本不需要修改啥,但是常规的话呢,建议修改一下上传文件的大小,默认2M,可以修改为20M以上,现在的图片都大,网络也好啊。
//nginx配置好了,PHP好了,mysql好了,就差重启了,但是还缺少 SSL
//如果输入ssl指令,出现错误,就说明没有安装过ssl,没有的话装一个SSL

sudo apt-get install openssl

//然后,配置证书。必须要颁布的合法证书,自己建立的没有认可的没用的。推荐百度或腾讯云,
//这里使用腾讯云,毕竟都是一家的,
//登录www.qcloud.com ,SSL证书管理功能,你的域名必须已经备案过了,不然依然没有鸟用。
//建立证书时应该输入具体域名,诸如 api.你的域名.com,建立后,可以采用手动DNS验证法,在域名的DNS里建立一个TXT的域名,内容就填写证书要求填写的认证码,比如:

201705031627285aw1fem9slsqalbz55bs2dw055lo4t5aeltehraob4krr2kc94

//然后保存DNS解析,随后5分钟刷新证书,就会查看到证书已经颁发了。
//下载证书,会得到一个你的域名的压缩包,解压后里面有三个操作系统的证书,使用Nginx里面的两个文件,你会惊喜的发现,这两个文件的文件名,和你上面Nginx配置信息里的两个证书名字一毛一样。
//现在的问题就是:如何把证书上传上去了,因为我们没有FTP,我也不会其他方法……
//那我们早晚要传文件,我就建立一个FTP吧,安全点,就建立SFTP,基于SSH的FTP文件传输。
//安装一个sshftp server

sudo apt-get install openssh-server

//安装完服务,我们进行用户建立。

sudo useradd -m 我的用户名 -s /usr/sbin/nologin
sudo passwd 我的用户名

//建立好用户,我们要让用户不能登录ssh,于是编辑/etc/shells

sudo vi /etc/shells

//然后在shells末尾添加:

/usr/sbin/nologin

//按大写Q,w,q,保存退出。
//建立一个ftp的专用组

sudo groupadd ftpaccess

//然后注销sshd_config里面的一行:如下

sudo vi /etc/ssh/sshd_config
//注销掉:  Subsystem sftp /usr/lib/openssh/sftp-server
//并在文件末尾添加:
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
//然后保存退出。

//下面我们要把用户放到我们设计好的组里。

sudo usermod -m 我的用户名 -g ftpaccess -s /usr/sbin/nologin
//再建个你自己的目录,记得有权限啊。
sudo mkdir /我的www目录
sudo chown 我的用户名:ftpaccess /我的www目录
很重要:因为设置为 ChrootDirectory %h , 所以,如果登录失败,则是因为 “主目录”的权限问题,要求 %h 必须是所在组为root

//ftp没问题了。重启一下服务器吧:

sudo reboot now

//再启动起来时,FTP是可以使用的。于是连接FTP,使用SFTP登录,进入目录
//上传证书压缩包里的Nginx里的两个证书文件到服务器,然后复制到指定目录:

sudo cp 证书文件  /etc/ssl/private

//重启一切:

sudo service nginx restart
sudo service php5-fpm restart
sudo service mysql restart

现在你可以访问你的服务器了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
TrueNAS是一个基于FreeBSD的存储操作系统,它内置了一些基本的网络服务,比如FTP,SMB,NFS,但是它并没有内置nginxphpmysql。 如果你想在TrueNAS上搭建一个nginx+php+mysql服务器,你需要进行以下步骤: 1. 安装pkg包管理器 在TrueNAS的Shell界面中,输入以下命令: ``` pkg ``` 如果提示你需要安装pkg,输入以下命令进行安装: ``` pkg install pkg ``` 2. 安装nginx 在Shell界面中,输入以下命令进行nginx的安装: ``` pkg install nginx ``` 安装完成后,你可以通过以下命令启动nginx服务: ``` service nginx start ``` 3. 安装php 在Shell界面中,输入以下命令进行php的安装: ``` pkg install php74 ``` 安装完成后,你需要在nginx的配置文件中添加php支持。找到nginx的配置文件,一般是在/usr/local/etc/nginx/nginx.conf,添加以下内容: ``` location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/www$fastcgi_script_name; include fastcgi_params; } ``` 4. 安装mysql 在Shell界面中,输入以下命令进行mysql的安装: ``` pkg install mysql80-server ``` 安装完成后,你可以通过以下命令启动mysql服务: ``` service mysql-server start ``` 5. 配置nginxmysql 在TrueNAS的Web界面中,进入Jails -> Configuration,创建一个新的Jail,并勾选“Auto start”选项。 进入Jail的Shell界面,编辑以下文件: - /usr/local/etc/nginx/nginx.conf - /usr/local/etc/php.ini - /usr/local/etc/mysql/my.cnf 根据你的需求进行配置,然后重启服务即可。 希望这些步骤能够帮助你在TrueNAS上搭建一个nginx+php+mysql服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Design JBY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值