助讯通

 找回密码
 注册帐号
搜索
查看: 430|回复: 1

   Ubuntu Server 18.04 编译安装 Nginx 服务器,配置 vsftpd、MySQL Server

[复制链接]
发表于 2018-7-15 06:32:31 | 显示全部楼层 |阅读模式
Ubuntu Server 18.04 编译安装 Nginx 服务器,配置 vsftpd、MySQL Server
( 为助讯通 服务端的 Linux 云盘服务器作准备,本贴子内容,会不停期完善更新 )

注意:为能用上最新版的 Nginx  和 Openssl 中的安全特性,本教程是采用源码编译 Nginx 和 Openssl,采用“包”安装的方式安装 MySQL Server 和 vsftpd 。如果觉得麻烦的用户,也可以将 Nginx 和 Openssl 采用包的安装方式;


假设你已经安装好了 Ubuntu Server 18.04 LTS ,并用 root 帐号登录 ssh 了

第一步:先升级更新一下系统
  1. apt update && sudo apt upgrade -y
复制代码

中间可能会弹出 Grub 相关的两个询问对话框,选择 OK ,如下:第二个选定第一项,并OK即可;
3.png

第二步:安装必要的编译组件:

  1. apt install build-essential -y
复制代码

第三步:下载源码并解压 nginx  pcre  zlib  openssl
  1. wget https://nginx.org/download/nginx-1.15.1.tar.gz  && tar zxvf nginx-1.15.1.tar.gz

  2. wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz && tar xzvf pcre-8.42.tar.gz

  3. wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz

  4. wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz && tar xzvf openssl-1.1.0h.tar.gz
复制代码

注意以上每行源码后面的版本号,你也可以下载版本更新的源码包。
执行完以后命令行,查询当前目录下,应该是这样的结果:
1.png

新建一个目录:
  1. mkdir targz
复制代码


然后将所有源码压缩包移到此目录下
  1. mv *.tar.gz ./targz/
复制代码


当前目录下的情况是这样:
2.png


第四步:开始编译:

先进入到 nginx 的源码目录下:
  1. cd ~/nginx-1.15.1
复制代码



编译脚本如下:注意以下脚本中的第  17   22   24 行,分别对应上面已经准备好的源码包的版本号目录,如果你有下载了更新的版本号,请记得更改以下脚本中的版本号即可:
  1. ./configure --prefix=/usr/share/nginx \
  2.             --sbin-path=/usr/sbin/nginx \
  3.             --modules-path=/usr/lib/nginx/modules \
  4.             --conf-path=/etc/nginx/nginx.conf \
  5.             --error-log-path=/var/log/nginx/error.log \
  6.             --http-log-path=/var/log/nginx/access.log \
  7.             --pid-path=/run/nginx.pid \
  8.             --lock-path=/var/lock/nginx.lock \
  9.             --user=www-data \
  10.             --group=www-data \
  11.             --build=Ubuntu \
  12.             --http-client-body-temp-path=/var/lib/nginx/body \
  13.             --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
  14.             --http-proxy-temp-path=/var/lib/nginx/proxy \
  15.             --http-scgi-temp-path=/var/lib/nginx/scgi \
  16.             --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
  17.             --with-openssl=../openssl-1.1.0h \
  18.             --with-openssl-opt=enable-ec_nistp_64_gcc_128 \
  19.             --with-openssl-opt=no-nextprotoneg \
  20.             --with-openssl-opt=no-weak-ssl-ciphers \
  21.             --with-openssl-opt=no-ssl3 \
  22.             --with-pcre=../pcre-8.42 \
  23.             --with-pcre-jit \
  24.             --with-zlib=../zlib-1.2.11 \
  25.             --with-compat \
  26.             --with-file-aio \
  27.             --with-threads \
  28.             --with-http_addition_module \
  29.             --with-http_auth_request_module \
  30.             --with-http_dav_module \
  31.             --with-http_flv_module \
  32.             --with-http_gunzip_module \
  33.             --with-http_gzip_static_module \
  34.             --with-http_mp4_module \
  35.             --with-http_random_index_module \
  36.             --with-http_realip_module \
  37.             --with-http_slice_module \
  38.             --with-http_ssl_module \
  39.             --with-http_sub_module \
  40.             --with-http_stub_status_module \
  41.             --with-http_v2_module \
  42.             --with-http_secure_link_module \
  43.             --with-mail \
  44.             --with-mail_ssl_module \
  45.             --with-stream \
  46.             --with-stream_realip_module \
  47.             --with-stream_ssl_module \
  48.             --with-stream_ssl_preread_module \
  49.             --with-debug \
  50.             --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' \
  51.             --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
复制代码
3.png



完成后,应该会显示下面的结果:

4.png

这里即可开始编译:
  1. make
复制代码

编译可能会需要几分钟时间,完成后,应该会有显示这样的结果:
5.png

到这里安装一下即可:
  1. make install
复制代码

第五步:把刚才编译完成功的 Nginx 做成 Ubuntu 的一个系统服务:
编辑并生成以下文件:
  1. vi /etc/systemd/system/nginx.service
复制代码
进入 vi 编辑器环境后,直接按一下字符 A 键,进入插入状态:

复制以下内容(复制后,在命令行屏幕中点鼠标右键即是粘贴)
  1. [Unit]
  2. Description=A high performance web server and a reverse proxy server
  3. After=network.target

  4. [Service]
  5. Type=forking
  6. PIDFile=/run/nginx.pid
  7. ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
  8. ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
  9. ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
  10. ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
  11. TimeoutStopSec=5
  12. KillMode=mixed

  13. [Install]
  14. WantedBy=multi-user.target
复制代码
如下图:
6.png

再按一下 ESC 键,再按 Shift + 分号后(即输入一个冒号),接着输入 wq 保存并退出(可百度下Linux 下 vi 编辑器用法)

在安装这个服务前,先检查一下Nginx 的配置文件是否正确,用以下命令
  1. nginx -t -c /etc/nginx/nginx.conf
复制代码
显示如下:
7.png

以上的错误是:没有目录:/var/lib/nginx/body
进入 /var/lib/ 目录下依次把这第三和第四层目录手动建好即可:
8.png

再次测试后,应该会显示如下成功的提示: 9.png

接下来安装服务:
  1. systemctl start nginx.service && systemctl enable nginx.service

  2. systemctl is-enabled nginx.service
复制代码

这时启动 Nginx 服务:
  1. service nginx start
复制代码

然后访问本服务器的IP,应该就能看到 Nginx 配置成功的页面了:
11.png

以上是 Nginx 的配置,全部安成!
为防止一个贴子内容太多,下面用回贴的方法,继续说明 MySQL Server 的配置,直到我们配置完一台完整可以用的 Linux Server ,并能在上面架设助讯通的 Linux 版本的云盘服务器;

参考网址:
https://www.vultr.com/docs/how-t ... rce-on-ubuntu-16-04
回复

使用道具 举报

 楼主| 发表于 2018-7-15 11:13:44 | 显示全部楼层
请休息一会儿,接着上面的贴子,继续安装配置 MySQL Server

首先安装:
  1. apt install mysql-server-5.7
复制代码
过程中输入 Y ,并按回车

安装完成后,作基本的初始配置:
  1. mysql_secure_installation
复制代码
1.png
如上图:会提示是否安装一个密码校验插件,输入 y ,并选择级别1,即中度
输入的密码需包含至少一个大写字母,一个符号,不然不让通过

两次输入的密码通过后,接下来都输入 y 回车即可,MySQL Server 就安装完成了;
这种方式安装后,MySQL Server 是默认信任本地电脑,不需要输入密码,只需要输入 mysql 命令即可进入 MySQL Server 的命令行状态,所以我要手动设置一下 MySQL Server  的 root 用户在本地登录也需要输入密码:

  1. mysql
  2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这里是你刚才输入两遍的那个密码';
  3. FLUSH PRIVILEGES;
  4. exit
复制代码
2.png

现在再输入 mysql 就无法输入 MySQL Server 命令行状态了,需要用
  1. mysql -u root -p
复制代码
再接着输入密码即可!
至此, MySQL Server 已经安装配置好了;接下来的回贴 来说明 vsftpd 的安装配置;



参考网址:
https://www.digitalocean.com/com ... -stack-ubuntu-18-04



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则



河马软件有限公司|Archiver|手机版| 助讯通 用户论坛

GMT+8, 2018-12-11 02:11

助讯通 用户中心

© 2003-2016 WinEIM.com

快速回复 返回顶部 返回列表